Generic entities are starting to seem like a bad idea.
Will need custom deserialization to be as mutable as usual entities.