Reimplement as a MIDI listening framework