do_* methods overrides the default implementation
of the vmm_data methods that is created by the shorthand macros. If the do_*
methods are defined, this method is used instead of the default implementation.
do_* methods are very useful can work well with short hand macros example you
can just override the default implementation of byte_pack() & byte_unpack() methods using
do_byte_pack and do_byte_unpack and rest of the vmm_data methods can be auto
generated by short hand macros.