Abstraction over the MIDI input. Does all the byte crunching and exposes a straightforward event API with MIDI learn capability.