WIP: Add entity API integration for field discovery

>  After all this is an optional feature.

My take is that by splitting to own function, you actually make it easier to override to your own needs. also getFieldInfoAndFormSchema() isn't too hard to follow, so I think it's fine as a separate method + it makes this ``getPublicFields()`` a bit more readable IMO.