address #18 by injecting a Directive.or metaclass method