add init and setOptions methods
format and set start time
accept date object for start date; expose generateEvent as only public function