Refactored into separate `Schedule` class & added `Event` class with spec