Start of rewrite for better (de)serialization
Some cleanup
Add ItemMetadata serializer