moved CatGenerator to HitEvent, various cleanup