title: Meteor: Meteor.call() from within observe callback does not execute
body: <p>Is there any possibility of calling a server method from within a <code>observe</code> callback in Meteor?</p>
  
  <p>I put together an example that reproduces the issue, that a <code>Meteor.call()</code> called from within a callback of <code>myCursor.observe()</code> does not execute. When called from within the observe callback, the <code>Meteor.method</code> itself also does not callback with an error, it just returns <code>Undefined</code>.</p>
  
  <p>Stop ignoring me, <code>Meteor.call()</code> :) Any help is very appreciated!</p>
  
  <p><strong>observe.js</strong></p>
  
  <pre><code>items=new Meteor.Collection("Items");
  
  if (Meteor.isClient) {
      Meteor.subscribe("Items");
      Meteor.startup(function(){
          itemsCursor=items.find();
          itemsHandle=itemsCursor.observe({
              added : function(doc){
                  console.log("added "+doc.text);
                  Meteor.call('aMethod',doc.text,function(e,r){
                      if(e){
                          console.log("error from server: "+e);
                      }else{
                          console.log("response from server: "+r);
                      }
                  });
              },
              removed : function(doc){
                  console.log("removed "+doc.text);
                  Meteor.call('aMethod',doc.text,function(e,r){
                      if(e){
                          console.log("error from server: "+e);
                      }else{
                          console.log("response from server: "+r);
                      }
                  });
              }
          });
      });
  
      Template.test.items=function(){
          return items.find();
      }
      Template.test.events({
          'click #add':function(){
              items.insert({"text":"Timestamp: "+(new Date().getTime())});
          },
          'click #remove':function(){
              items.remove(items.findOne()._id);
          }
      });
  }
  
  if (Meteor.isServer) {
      Meteor.publish("Items",function(){
          return items.find();
      });
      items.allow({
          insert : function(userId,doc){
              return true;
          },
          update : function(userId,doc){
              return true;
          },
          remove : function(userId,doc){
              return true;
          }
      });
      Meteor.methods({
          aMethod:function(text){
              console.log("Got it! "+text);
              return "Got it! "+text;
          }
      });
  }
  </code></pre>
  
  <p><strong>observe.html</strong></p>
  
  <pre><code>&lt;head&gt;
    &lt;title&gt;observe&lt;/title&gt;
  &lt;/head&gt;
  
  &lt;body&gt;
    {{&gt; test}}
  &lt;/body&gt;
  
  &lt;template name="test"&gt;
    &lt;button id="add"&gt;add item&lt;/button&gt;
    &lt;button id="remove"&gt;remove item&lt;/button&gt;
      &lt;ol&gt;
          {{#each items}}
          &lt;li&gt;{{text}}&lt;/li&gt;
          {{/each}}
      &lt;/ol&gt;
  &lt;/template&gt;
  </code></pre>