Reduce branching and make easier to read
Pass events list to context