Refactor data structure of Event