public void On <T>(Func <T, bool> predicate) where T : class
        {
//            On((typeof(T).Name)).If(predicate); //TODO: must match only on type, not on string
            var configurations = new MultiplePermissionConfiguration();

            foreach (var action in actions)
            {
                configurations.Add(abilityConfiguration.AllowTo(action, predicate));
            }
        }
        public IPermissionConfiguration On(params string[] subjects)
        {
            var configurations = new MultiplePermissionConfiguration();

            foreach (var subject in subjects)
            {
                foreach (var action in actions)
                {
                    configurations.Add(abilityConfiguration.AllowTo(action, subject));
                }
            }

            return(configurations);
        }