Asynchronous function for branch condition
typedef BranchMiddlewareConditionFunction<T> = Future<bool> Function(T context);