Made the MCDispatcher class again. This will be our Main class. I did so
because we needed access to the Dispatcher's methods from our Listeners
and I didn't want to make the Dispatcher a static class since it has a
data structure. 

The MCDispatcher class has an instance of Dispatcher so that we can
access it's methods without them being static and allows us to retain an
instance of it's data structure. 

Also renamed Dispacher to Dispatcher.