Make end_time calculations inclusive of end time; refactor end_time calculations into expired? method