The more I think about it, the more I like this idea. I really think the API should provide:

```php
public function isGranted($permission, $assertion, $context = null);
public function meets($permission, $context = null);
```