StateDevice -> Add the ability to restrict the device from responding to commands based on the state of another device.  See unit test for implementation details.     Thanks George Clark for the idea!