 
   _bindSendOperations: ->
 
-    @bind "change", (model) =>
-      @_sendModelChange model
-
-    @bind "add", (model) =>
-      @_sendModelAdd model
-
-    @bind "destroy", (model, options) =>
-      @_sendModelDestroy model
+    @bind "change", (model, options) =>
+      if options?.local
+        console.log "LOCAL change"
+      @_sendModelChange model unless options?.local
+
+    @bind "add", (model, collection, options) =>
+      if options?.local
+        console.log "LOCAL add"
+      @_sendModelAdd model unless options?.local
+
+    @bind "destroy", (model, collection, options) =>
+      if options?.local
+        console.log "LOCAL destroy"
+      @_sendModelDestroy model unless options?.local
 
 
   _sendModelChange: (model) ->
 
     operations = for attribute, value of model.changedAttributes()
-      if @_syncAttributes[attribute] is value
-        # We received this change. No need to resend it
-        delete @_syncAttributes[attribute]
-        continue
 
       log "SEND CHANGE: #{ model.id }: #{ attribute }: #{ value }"
       { p: [@collectionId , model.id, attribute ],  oi: value }

    if not @collectionId = opts.collectionId
      throw new Error "SharedCollection needs a collectionId in options!"

    @_syncAttributes = {}
    super

  handleError: (model) => (err) =>


    log "RECEIVE CHANGE #{ model.id }: #{ attrName }: #{ attrValue }"

    ob = {}
    ob[attrName] = attrValue
    model.set ob, local: true


  add: (models) ->
