Introducing listeners and dispatchers for events that need to be communicated between classes. Currently it seems we run into memory trouble though.