Since TodoPrivate now inherits from IncidenceBasePrivate, it no longer needs q to record dirty fields.
TodoPrivate
IncidenceBasePrivate
q