I already said this in IRC, but if this is just a UI delay, we should call it something like SIGNIN_ANIMATION_DELAY.

It'd be good to split out the UI and assertion generation bits more cleanly--maybe we can call dialogHelpers.getAssertion and then throw an arrow animation function call inside the setTimeout.

I guess dialogHelpers.getAssertion gets the assertion, then fires the 'assertion_generated' signal, which leads to the doAssertionGenerated call firing, which then immediately calls dialogHelpers.animateClose.

I'm not sure what the cleanest way is to separate all this. 90% of dialog/js/misc/state.js is a one-liner passthru, it's funky to be making UI calls in there for the doAssertionGenerated case.

Maybe we could immediately generate the assertion, and when it's ready, make the dialogHelpers.animateClose call in a setTimeout?

I'm sure I don't see the full picture here, but hopefully this helps.