Refactor, add event stream interceptor