         }
     }
 
+    /// the elapsed time since calling `startTimer`
     private var elapsedTime: TimeInterval? {
         return layer.presentation()?.value(forKey: .value) as? TimeInterval
     }
-
-    /// type-alias for the handler that should be called when needed
-    public typealias TimerHandler = (Bool, TimeInterval?) -> Void
 
     /// the completion for over all timer
     private var timerHandler: TimerHandler?

        return formatter
    }()

    override func updateValueLabel(withValue value: CGFloat,
                                   valueIndicator: String,
                                   rightToLeft: Bool,

        return layer as! UICircularTimerRingLayer
    }

    /// initialize with some defaults relevant to this timer ring
    override func initialize() {
        super.initialize()
        ringLayer.minValue = 0
