More work on serialization overhaual. *BREAKING CHANGES*