refactored geofence service, added singleton initializer, instance methods, and named parameters.