Started working on DSL for creating events. (Makes this unstable)