Message classes allow dynamic attribute access to message fields. Childs get exposed through a dedicated class by attributes too. Message type fields and childs have types that get enforces. None type is allowed too while transitioning.