Why classmethod when you pass a device to it anyways?