Refactored transactions into a common interface and renamed them to events