New ModeChangedEvent, new Mode class to represent single modes, renamed old Mode class to ModeList as that's what it actually was!