Refactor MidiNote events (create, destroy, move, select) to use a listener pattern