public bool Start(HostControl hostControl)
        {
            _container = new WindsorContainer()
                .Install(
                    new LoggingInstaller(),
                    new BusInstaller()
                );

            _container.Register(
                Component.For<IMessagePublisher>().ImplementedBy(typeof(MessagePublisher)));

            var requestSender = _container.Resolve<IMessagePublisher>();

            var request = new TestRequest { Request = "Hello this is a request from a remote service" };

            requestSender.Request<TestRequest, TestResponse>(request, response =>
                _logger.InfoFormat("Responce received {0}", response.Response));

            var message = new TestMessage {Message = " ### Hello this is a message from a remote service ###"};

            requestSender.Publish(message);

            return true;
        }
 private TestResponse Response(TestRequest request)
 {
     Logger.InfoFormat("Received request: {0}", request.Request);
        return new TestResponse {Response = " ***** Response to Request *****"};
 }