I had the idea to move events around the menu. Basically you would just select one, then select the "Move" button, then there would be buttons that appear all over the menu. On each event there would be a "Swap" button so you could swap the two events, then in between each event there would be an "Insert" button so you could move the event. Possible?
Edit: I also think this should also be client-sided if possible.