Bucketload of stuff, including react
Add mediator to handle component comms