public PublishToAndroidApi(BloomWebSocketServer bloomWebSocketServer, BookServer bookServer, RuntimeImageProcessor imageProcessor)
        {
            _webSocketServer = bloomWebSocketServer;
            _bookServer      = bookServer;
            _imageProcessor  = imageProcessor;
            _progress        = new WebSocketProgress(_webSocketServer, kWebSocketContext);
            _wifiPublisher   = new WiFiPublisher(_progress, _bookServer);
#if !__MonoCS__
            _usbPublisher = new UsbPublisher(_progress, _bookServer)
            {
                Stopped = () => SetState("stopped")
            };
#endif
        }
        public PublishToAndroidApi(CollectionSettings collectionSettings, BloomWebSocketServer bloomWebSocketServer, BookServer bookServer, BulkBloomPubCreator bulkBloomPubCreator)
        {
            _collectionSettings  = collectionSettings;
            _webSocketServer     = bloomWebSocketServer;
            _bookServer          = bookServer;
            _bulkBloomPubCreator = bulkBloomPubCreator;
            _progress            = new WebSocketProgress(_webSocketServer, kWebSocketContext);
            _wifiPublisher       = new WiFiPublisher(_progress, _bookServer);
#if !__MonoCS__
            _usbPublisher = new UsbPublisher(_progress, _bookServer)
            {
                Stopped = () => SetState("stopped")
            };
#endif
        }