Begin re-writing the preference implementation.
Looks like we will be using Objective C code after all, at it will be easier when dealing with non-property list datatypes.