This should allow for reading and writing values to multiple pins at once. A shift register can then implement this same API too. Once this is added we can cleanup GamePad back into one class.