     case Best
 }
 
+private func < (lhs: LocationAccuracy, rhs: LocationAccuracy) -> Bool {
+    return lhs.rawValue < rhs.rawValue
+}
+
 /**
 Callback frequency setting. Lowest power consumption is achieved by combining LocationUpdateFrequency.ChangesOnly
  with LocationAccuracy.Coarse

public enum LocationUpdateFrequency: Int {
    case ChangesOnly
    case Continuous
}

public enum LocationAuthorization {

    private var accuracy: LocationAccuracy {
        let allAccuracies = allLocationListeners.map({ $0.request.accuracy })

        guard let value = allAccuracies.maxElement(<) else {
            return .Good
        }

