Introduce InputMessage that represents input message

Here is a work flow:

  * Dispatcher recives envelope
  * Dispatcher wraps envelope by InputMessage
  * Adapter processes envelope via InputMessage
  * Dispatcher passes processed envelope to distributor
  * Distributor distribute processed envelope