override this for more complex data types than the ones supported by shared_preferences.
@protected T? deserialize(String? data) { return null; }