Given the legislation around direct marketing, I think managing contact preferences could be made more straightforward and have automatic prompts/reporting to help segment for the purpose of contact preferences.
Firstly, a time stamp when an contact preference is recorded would be very useful and the source of the opt-in, all recorded under the contact preferences and with no need to use attributes.
Secondly, I know there are still big grey areas around the lifespan of an opt-in but, especially once this has been clarified, it would be great to have reports on supporters "with opt-ins", "no opt-ins" and "lapsing opt-ins" with various breakdowns by contact type/channel (or at the least, we could set our own criteria for what we define as a lapsing opt-in). This way we would be able to view at any time who we need to re-engage prior to losing the authorisation to contact.
On the proposed use of Attributes to capture, record and track consent (and preferences) and changes of consent: