Fix #323 - location may be nil
Encapsulate Geolocation callback/errback in NSObject instead of struct