Collections with visibility

Since Ownable sets a policy class, this has to check for Visibility.

The policy_class method isn't called until a policy is used, so all modules will be included by then.