Caching persisted typed value since it will be the same for each row. Added empty value checks. Removed code that uses the editor instance to insert values into the sharedpreferences and instead switched the inherited persist*() methods.
Reverted from using persist* and getPersisted* methods since the internals for persist strategy don't align with when I want to persist the preference.
Merge branch 'optimizations'