Adds a complete set of EventRules

Exposes `add_event` as an `api_method` and adds a full set of event rules so that user's may craft their own edge case rules that schedule function cannot handle.