Make load and unload events synchronous

It really makes no sense for them to ever be async