Moved hardware related code to an explicit namespace
Introducing an interface for the main API
Introducing an interface for the output pins
Introducing an interface for the input pins