Route loading and unloading uses promises