Feature/refactor event controller