The idea is that we have dispatchers (classes that fire events) and listeners (classes that listen for events).