Slim library to allow different components to communicate with each other using messages