Extra methods and tests, along with _devices more obvious as an internal function