     public var ref: DatabaseReference
     public var parameters: JSONObject
     
-    public init(ref: DatabaseReference, parameters: JSONObject) {
+    public init(at ref: DatabaseReference, parameters: JSONObject) {
         self.ref = ref
         self.parameters = parameters
     }

    }
    
    public func createObject<T: State>(at ref: DatabaseReference, createNewChildId: Bool, removeId: Bool, parameters: JSONObject, core: Core<T>) {
        core.fire(command: CreateObject(ref: ref, createNewChildId: createNewChildId, removeId: removeId, parameters: parameters))
    }
    
    public func updateObject<T: State>(at ref: DatabaseReference, parameters: JSONObject, core: Core<T>) {
        core.fire(command: UpdateObject(ref: ref, parameters: parameters))
    }

    
    
    
}


    func updateObjectDirectly<T: State>(at ref: DatabaseReference, parameters: JSONObject, core: Core<T>)
    func removeObject<T: State>(at ref: DatabaseReference, core: Core<T>)
    func getObject<T: State>(at objectRef: DatabaseReference, core: Core<T>, completion: @escaping (_ objectJSON: JSONObject?) -> Void)
    func observeObject<T: State>(at objectRef: DatabaseReference, core: Core<T>, _ completion: @escaping (_ objectJSON: JSONObject?) -> Void)
    
    func stopObservingObject<T: State>(at objectRef: DatabaseReference, core: Core<T>)
    func search<T: State>(with baseQuery: DatabaseQuery, key: String, value: String, core: Core<T>, completion: @escaping (_ json: JSONObject?) -> Void)
