docs: function(successCallback, errorCallback, options) {
              argscheck.checkArgs('fFO', 'compass.watchHeading', arguments);
              // Default interval (100 msec)
              var frequency = (options !== undefined && options.frequency !== undefined) ? options.frequency : 100;
              var filter = (options !== undefined && options.filter !== undefined) ? options.filter : 0;
  
              var id = utils.createUUID();
              if (filter > 0) {
                  // is an iOS request for watch by filter, no timer needed
                  timers[id] = "iOS";
                  compass.getCurrentHeading(successCallback, errorCallback, options);
              } else {
                  // Start watch timer to get headings
                  timers[id] = window.setInterval(function() {
                      compass.getCurrentHeading(successCallback, errorCallback);
                  }, frequency);
              }
  
              return id;
          }