Nit: `Function.bind()` is the new hotness for accessing an outer function's *this* object from an inner function:

    Services.obs.addObserver((function (message) {
      this.currentLoc = new FakeGeoPositionObject(message.wrappedJSObject.lat,
        message.wrappedJSObject.lon);
      this.callback.update(this.currentLoc);
    }).bind(this), "r2d2b2g-geolocation-response", false);