Gateway: unit-tests
IProvider: assigns 'provider' to IncomingMessage and MessageStatus, so removed from the 1st parameter