Fleshing out the device interface.