Since "vmPayload" field in VM class is not "final", and since there's no custom field (de)serializer for VM class on frontend, entire "vmPayload" data is serialized and passed to client for each VM-related query. In practice, this is very inefficient when doing data refresh queries each few seconds. This should be solved by writing custom field (de)serializer for VM class, which removes unnecessary "vmPayload" data.