If attempting to push a view controller that is already on top of the stack, don't raise an assertion failure, just call the completion and return.