(WIP) Implement callable defaults - Do not merge, for internal review

@mtyaka Created this temporary "fake" PR for the internal review. To close once the upstream PR has been opened.
This is to handle `ReadOnlyFieldData` fields, right? Is it what is being used for example by the LMS when it loads the mongo fields as read-only?