Refactor binary_device -> switchable; Device::Base accepts an adapter through a Hash