public ProcessMessageAsync(IHandleMessage handler,
IHeartBeatWorkerFactory heartBeatWorkerFactory,
MessageExceptionHandler messageExceptionHandler,
ICommitMessage commitMessage)
{
Guard.NotNull(() => handler, handler);
Guard.NotNull(() => heartBeatWorkerFactory, heartBeatWorkerFactory);
Guard.NotNull(() => messageExceptionHandler, messageExceptionHandler);
Guard.NotNull(() => commitMessage, commitMessage);
_messageExceptionHandler = messageExceptionHandler;
_methodToRun = handler;
_heartBeatWorkerFactory = heartBeatWorkerFactory;
_commitMessage = commitMessage;
}