function ($c) { $taxus = new Taxus( ... $c->get('taxus.gates') ); $list = []; foreach($c->get(Lean\Lean::class)->getTaxusPrivileges() as $key => $privilege) { foreach($privilege as $name => $description) { $list[] = [ new Privilege($name, $description), $key ]; } } $taxus->add(... $list); return $taxus; }, 'taxus.gates' => add([ get(PermissionGrantInterface::class), ]), PermissionGrantInterface::class => create(%NAMESPACE%\PrivilegeGrantAccess::class)->constructor(get(ServerRequestInterface::class), get(Session::class)), ];