Provides a mechanism for fetching all values of all fields in this entity.
The future returned will complete when all fields have been fetched and successfully passed to onField.
Note that for large numbers of fields or data, several network requests may be made to produce all the data needed.
The implementation may, at its discretion fetch the data via individual requests or over a persistent stream like web sockets.
To get the value of a field. For primitives i.e. String, int, double etc
This returns immediately. For non-primitives, it may result in a network request to load the value of that field