 
     // MARK: - Public properties
 
-    /// The frame for the alpha layer.
+    /// The frame for the mask layer.
     var maskLayerFrameAnimation: Observable<FrameAnimation> {
         return maskLayerFrameAnimationSubject.asObservable
     }

import Foundation
import LightweightObservable

/// This view model keeps track of the progress-value and updates the `alphaLayerFrame` accordingly.
class GradientProgressBarViewModel {
    // MARK: - Types


    /// The current progress.
    var progress: Float = 0.5 {
        didSet {
            // Make sure progress value fits our bounds.
            progress = min(1.0, max(0.0, progress))

            if shouldUpdateMaskLayerFrameOnProgressChange {
