Future<bool> canPerform() async { for (var guard in guards) { final allow = await guard.canPerform(); if (allow == false) return false; } return true; }