moved stuff around, added another .promise()

Added another .promise() so to make everything finish first, then
re-init every navigation event. Sweeeeeeeeet!