Allow subscription to either location or direction data

The forced union of both information is not appropriate in several
activities where only GPS data is needed, or where direction data
update less components than location data (such as cache lists).

This is part of work on #3680.
Use a synchronized method to please FindBugs