Feature: Can the protocol determine message type
  The protocol getType method works as expected

  Scenario: A valid message is successfully typed
    Given a valid message
    When protocol getType is called
    Then getType returns message.payload.message_type if present

  Scenario: An invalid message returns type:null
    Given an invalid message
    When protocol getType is called
    Then getType returns null if message.payload.message_type is not present