Changed filters and events to be more middleware like