I think it would be better to keep it in the constructor: a geolocation provider is treated as a singleton, it is created once and only once.  Watch may be called multiple times.  Moving the observer into watch will just attach additional listeners.  What do you think?