Add: CompiledEvent base class and api