Finished with basic workflow system.

Still want to be able to do a couple things.
1) Versioned workflows.
2) Configuration of operations.
3) Simple way to attach workflows to events or something and easily
disconnect them.