People can define their own parsing logic by passing in a function into its constructor:

` public StringDerivedProperty(String propName, T defaultValue, Function<String, T> deriveFunction)`