Added listeners, etc. and more wip
Major rework. Executions can't be keyed by ScheduleID as mutltiple runs of a schedule would conflict. So, I introduced a new concept, the RunId