Removing setters where possible from VM objects

Most fields can be initialized on construction of the object and do not need to be changeable later

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Moving the class field to the VM-level object and make its getter a primitive

Signed-off-by: Stefan Marr <git@stefan-marr.de>