Refactored to use eventhandler for bind-unbind-bind purpose, added checkwin and restart game methods