refactoring current, upcoming, and all events code in centralized model