DEV: Preferences
   - ADDED: Ability have a preference value be an object or array, which will roll/unroll into a branch tree as appropriate, as many levels as are present.
   - ADDED: New SelectionStyle preference (unused on this commit) which is the way that styles are moving