event classes moved to core
simplify dependencies
copied over specs