Moved serialization behind injectable interface and separated the one low level and typed client serialization contracts