Refactored Everything.

Removed all global variables in the core.

Multiple instances of messenger should now work.

Every part of the core now has a related struct containing the data for it.

The API in Messenger.h remains inaffected.