Reloading fix

Closed #64

This gets rid of the awful $broadcast design pattern and replaces it with nice promises.