Support reentrance and asynchronous transitions

Maybe something like `If this method is called more than once, it will throw an exception.  If this method is never called, your backstack will get all fucked up`?