An object model from the code generated by protoc(objects using the builder pattern).
This acts as a "message descriptor" at runtime(especially for LITE_RUNTIME) ... which
can also be used to generate code for other formats.
This also provides runtime accessors for the fields of a message via reflection.