         self.completionHandler = nil
     }
 
-    // MARK - functions
-
-    func cancelRequest() {
+    // MARK: - functions
+
+    internal func cancelRequest() {
         self.expired = true
         self.expirationTimer?.invalidate()
         self.timeOutHandler = nil
         self.expirationTimer = nil
     }
 
-    // MARK - NSTimer
-    
-    func handleTimerFired(_ timer: Timer) {
+    // MARK: - NSTimer
+    
+    internal func handleTimerFired(_ timer: Timer) {
         DispatchQueue.main.async(execute: {
             self.expired = true
             self.expirationTimer?.invalidate()

        }
    }
    
    // MARK - object lifecycle
    
    override init() {
        self.expired = false
        super.init()
    }
    


// MARK: - PositionLocationRequest

internal typealias TimeOutCompletionHandler = () -> (Void)

internal class PositionLocationRequest: NSObject {

    internal var desiredAccuracy: Double!
    
    internal var expired: Bool
    
    internal var timeOutHandler: TimeOutCompletionHandler?
    
    internal var completionHandler: OneShotCompletionHandler?
    
    internal var expiration: TimeInterval {
        didSet {
            if let timer = self.expirationTimer {
                self.expired = false
