move BLE stuff into singleton class