         return try? managedObjectContext.parentContext!.parentContext!.executeFetchRequest(request)
     }
     
+    /**
+     Searches based on property value.
+     - Parameter propertyDescriptionName: An entity type description.
+     - Parameter properties: An Array of property tuples.
+     - Returns: An optional Array of AnyObjects.
+     */
     internal func search(propertyDescriptionName: String, properties: [(key: String, value: AnyObject?)]) -> [AnyObject]? {
         var propertiesPredicate = [NSPredicate]()
         

        return try? managedObjectContext.parentContext!.parentContext!.executeFetchRequest(request)
    }
    
    internal func search(groupDescriptionName: String, groups: [String]) -> [AnyObject]? {
        var groupsPredicate = [NSPredicate]()
        

     Searches for Actions that fall into any of the specified facets.
     - Parameter types: An Array of Action types.
     - Parameter groups: An Array of groups.
     - Parameter properties: An Array of property tuples.
     - Returns: An Array of Actions.
     */
    public func searchForAction(types types: [String]? = nil, groups: [String]? = nil, properties: [(key: String, value: AnyObject?)]? = nil) -> [Action] {
