┌────┐ ┌───────────────────┐ ┌───────────────┐ ┌──────────────────────┐ ┌──────┐ ┌────────────────────┐ │User│ │RequestHandlerGuard│ │RouteDispatcher│ │ConfirmationController│ │Bundle│ │PasswordConfirmation│ └──┬─┘ └─────────┬─────────┘ └───────┬───────┘ └───────────┬──────────┘ └───┬──┘ └──────────┬─────────┘ │ request sensitive AnyComponent │ │ │ │ │────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ assert bundle for AnyComponent demand │ │ │ │ │───────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ throw ConfirmationRequiredException│ │ │ │ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ temporary persist bundle for demand│ │ │ │ │───────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ render confirmation form │ │ │ │ │────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ show confirmation form │ │ │ │ │<──────────────────────────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ │ provide password confirmation │ │ │ │ │──────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ verify password │ │ │ │ │─────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ true │ │ │ │ │ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ grant bundle for demand │ │ │ │ │ │─────────────────────────>│ │ │ │ │ │ │ │ │ │ throw ApplyInstructionException for bundle │ │ │ │ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ │ │ │ │ │ forward to originally demanded route │ │ │ │ │ │──────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ assert bundle for AnyComponent demand │ │ │ │ │───────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ true │ │ │ │ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ dispatch │ │ │ │ │<────────────────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ ┌──┴─┐ ┌─────────┴─────────┐ ┌───────┴───────┐ ┌───────────┴──────────┐ ┌───┴──┐ ┌──────────┴─────────┐ │User│ │RequestHandlerGuard│ │RouteDispatcher│ │ConfirmationController│ │Bundle│ │PasswordConfirmation│ └────┘ └───────────────────┘ └───────────────┘ └──────────────────────┘ └──────┘ └────────────────────┘