Update comments, modify RepositoryService to use new serialization/deserialization and metadata functions
Move toJSON function up to parent, create static member variables to store compositable fields