Do we really need this abstraction? It seems like we won't have different sets of preferences for 'enabled/strikethrough/usesyntactichints' very soon. :)