created a new message decoder trait for converting binary stream into typed objects
documented the method