`value: 10` is configurable, but having `1` hard coded in the logic of the getter is what makes it difficult for implementers to customize. It's easier to customize by configuration than to override, and harder still to override attribute getter (or any function). In general, it's preferable to use string values as getter/setter/validator/valueFn configurations because they use late binding to resolve the method, so is easier for subclassing or class extension overrides. FYI.