Test, and react to, signals received from hardware

Add bit field tests to discover information from the hardware and update
internals to reflect new information.

The system relies on signals to detect events. As these events happen
the internals of the system need to be updated so that it behaves
correctly.