added the location service file

i moved all of the logic around getting a location to a service
added the location service instead of using events
removed all of the geolocation logic and started using the location service
switched from events to using the location service