Pulled out some more base classes for methods; added richness to FieldType
some extra exception handling for serialisation
heartbeat implementation