init function now always returns a promise

The init function was simply returning if already ran.

Now returns a resolved promise instead.