/// <summary>
        /// Opens this instance.
        /// </summary>
        public void Open(Uri serviceUri)
        {
            Log.Info("Open: URI => {0}", serviceUri);

            _serviceHost = new WebServiceHost(this, serviceUri);

            var serviceBehavior = new WebHttpBehavior();
            serviceBehavior.AutomaticFormatSelectionEnabled = true;
            serviceBehavior.DefaultBodyStyle = WebMessageBodyStyle.Bare;
            serviceBehavior.HelpEnabled = true;
            serviceBehavior.FaultExceptionEnabled = false;
            serviceBehavior.DefaultOutgoingRequestFormat = WebMessageFormat.Json;
            serviceBehavior.DefaultOutgoingResponseFormat = WebMessageFormat.Json;

            var serviceBinding = new WebHttpBinding();
            var serviceEndpoint = _serviceHost.AddServiceEndpoint(typeof(IControlManager), serviceBinding, "");
            serviceEndpoint.Behaviors.Add(serviceBehavior);

            _serviceHost.BeginOpen(HandleAsyncOpen, null);
        }