Fixing post event issues and did some refactoring.
There are still a couple major FIXME's.