abstracted IMessageSerialization interface to easily implement custom serializers/deserializers