Event refactor and remove extra hasActive checks