Event Package

Refactor to support the strict type checker.

Part of #6