Modified AbstractPrefField interface to be generic + Added behaviour to deal with null, resets the preference to the user defined default value