             delete doc.__labels if _.has doc, '__labels'
             delete doc.metadata if _.has doc, 'metadata'
             Meteor.neo4j.call '___Neo4jObserveAdded', {properties: doc, _id: doc._id, __labels: labels}, collectionName, doc, (error) ->
-              return throw new Meteor.Error '500', '[___Neo4jObserveRemoved]', error if error
+              if error
+                console.error {error, collectionName}
+                throw new Meteor.Error 500, '[___Neo4jObserveRemoved]'
         changed: (doc, old) ->
           labels = getLabels doc
           if not Meteor.neo4j.collections[collectionName].isMapping
             delete doc.__labels if _.has doc, '__labels'
             delete doc.metadata if _.has doc, 'metadata'
             Meteor.neo4j.call '___Neo4jObserveChanged', {_id: old._id, properties: doc, __labels: labels}, collectionName, doc, (error) ->
-              return throw new Meteor.Error '500', '[___Neo4jObserveRemoved]', error if error
+              if error
+                console.error {error, collectionName}
+                throw new Meteor.Error 500, '[___Neo4jObserveRemoved]'
         removed: (doc) ->
           labels = getLabels doc
           if not Meteor.neo4j.collections[collectionName].isMapping
             delete doc.__labels if _.has doc, '__labels'
             delete doc.metadata if _.has doc, 'metadata'
             Meteor.neo4j.call '___Neo4jObserveRemoved', {_id: doc._id, __labels: labels}, collectionName, doc, (error) ->
-              return throw new Meteor.Error '500', '[___Neo4jObserveRemoved]', error if error
+              if error
+                console.error {error, collectionName}
+                throw new Meteor.Error 500, '[___Neo4jObserveRemoved]'
 
     if Meteor.isServer
       collection.publish = (name, func, onSubscribe) ->

    Meteor.N4JDB.query query, opts, (error, data) ->
      bound ->
        if error
          throw new Meteor.Error '[Meteor.N4JDB.query]: ', JSON.stringify {error, uid, optuid, query, opts, date}
        else
          return Meteor.neo4j.cache.put uid, optuid, data or null, query, opts, date
  ) else undefined

    callback = param for param in arguments when _.isFunction param

    Meteor.call methodName, opts, name, link, (error, uids) =>
      if error
        console.error {error, methodName, opts, name, link}
        throw new Meteor.Error '500', "[Meteor.neo4j.call] Method: [\"#{methodName}\"] returns error!"

      cached = @cacheCollection.find uid: uids.uid
      _uids = @uids.get()
