Clean up reloading

Also start experimenting with threading a resolver through rather than
using resolveOn