There are some setter methods on the BluetoothManager interface that changes state of the manager. These methods should be removed from the public API. Most likely a good solutions for this would be a new "builder" class that creates and sets up bluetooth manager instances.