add ButtonEvent and TurnEvent

some steps of adding new properties