properly threaded background service, handle stale locations when sharing