Refactor some events, added more.