Generic and Reversible Transitions

Modified transitions to be generic, and as a result simpler to use.
Added reversible transitions.
Delayed Actions added to Activities

Delayed actions can now be created for activities, performing an action
after a set delay.