protected function allowSingleGroupPermission($permission, $object, $group)
	{
		// check to see if the permission exists
		$permObject = $this->permission->findByPermissionAndObject($permission, $object);
		
		// if it doesn't, try to create it
		if(!$permObject)
		{
			$listOfPermissions = $object->getPermissions();
			
			// make sure the requested permission is valid on the model
			if(!isset($listOfPermissions[$permission]))
			{
				throw new \Exception("Permission ".$permission." doesn't exist on the ".get_class($object)." object.");
			}
			
			// create the permission
			$permObject = $this->permission->create(array(
				'name'			=> $listOfPermissions[$permission],
				'object_type'	=> get_class($object),
				'codename'		=> $permission,
			));
			
		}
		
		// check to see if the group already has permission on the object
		$gop = $this->groupObjectPermission->findPermission($group, $object, $permObject);
		
		// if it doesn't, give it permission
		if(!$gop)
		{
			$gop = $this->groupObjectPermission->create(array(
				'group_id'		=> $group->id,
				'object_type'	=> get_class($object),
				'object_id'		=> $object->id,
				'permission_id'	=> $permObject->id,
			));
		}
	}