public MessageReceiverWorkerThread(
			IReceiveFromEndpoints receiverQueue,
			Func<IRouteMessagesToHandlers> routerFactory,
			Func<Action, IThread> thread)
        {
            this.receiverQueue = receiverQueue;
            this.routerFactory = routerFactory;
            this.thread = thread(this.StartReceiving);
        }
 public MessageReceiverWorkerThread(
     IReceiveFromEndpoints receiverQueue,
     Func <IRouteMessagesToHandlers> routerFactory,
     Func <Action, IThread> thread)
 {
     this.receiverQueue = receiverQueue;
     this.routerFactory = routerFactory;
     this.thread        = thread(this.StartReceiving);
 }