Contains code primarily from the "Bridge" chapter that separates an abstraction (a hierarchy of controllers) from machine-specific driver implementations.