Implement basic event system plus a bit of work on window.py