         }
     }
     
-    
-    func clear(object:A)
+    public func clear(object:A)
     {
         let policy = objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC
         objc_setAssociatedObject(object, key, nil, policy)

        }
    }
    
    func getValueFrom<T : Any>(object:A, defaultvalue : T) -> T
    {
        let value: T? = getValueFrom(object)
        if let v = value {

        }
    }
    
    public func getValueFrom<T : Any>(object:A, defaultvalueblock : () -> T) -> T
    {
        let value: T? = getValueFrom(object)
        if let v = value {
