         }
     }
     
+    /// Duration for HUD to be fade out and be removed when `hide(animated: true)`
+    ///
+    /// Default: `1.0`
     public var hideAnimationDuration = 1.0
     
-    public var pulseDurationOffset = 0.0
+    /// Duration offset for easily quickening or slowing down pulse animation speed.
+    ///
+    /// Default: `0.0`
+    public var pulseDurationOffset = 0.0 {
+        didSet {
+            if let pulseNumberGenerator = pulseNumberGenerator as? JPulseDateNumberGenerator {
+                pulseNumberGenerator.durationOffset = pulseDurationOffset
+            }
+        }
+    }
+    
+    /// Custom JPulseNumberGenerator for building custom number sequences for the pulse animation.
+    ///
+    /// Default: `JPulseDateNumberGenerator()`
+    public var pulseNumberGenerator: JPulseNumberGenerator = JPulseDateNumberGenerator()
     
     //MARK: - Initializers
     

    }
    
    public var durationOffset = 0.0
    private let width: CGFloat
    
    public init(viewFrameWidth: CGFloat, durationOffset: Double) {
        width = viewFrameWidth
        self.durationOffset = durationOffset
    }

        return true
    }
    
    /**
     Returns HUD object if it's located in view's subviews.
     
     - parameter view: view to search for HUD.
     
     - returns: HUD object.
     */
    public static func hudFromView(view: UIView) -> JPulseHUD? {
        let hud = view.subviews.filter { $0 is JPulseHUD }
        return hud.first as? JPulseHUD
