     }
   }
 
-  func squeeze(_ way: AnimationType.Way, direction: AnimationType.Direction, completion: AnimatableCompletion? = nil) {
+  public func squeeze(_ way: AnimationType.Way, direction: AnimationType.Direction, completion: AnimatableCompletion? = nil) {
     let values = computeValues(way: way, direction: direction, shouldScale: true)
     switch way {
     case .in:

    }
  }

  func fade(_ way: AnimationType.FadeWay, completion: AnimatableCompletion? = nil) {
    switch way {
    case .outIn:
      fadeOutIn(completion: completion)

    }, completion: completion)
  }

  public func morph(repeatCount: Int, completion: AnimatableCompletion? = nil) {
    CALayer.animate({
      let morphX = CAKeyframeAnimation(keyPath: "transform.scale.x")
      morphX.values = [1, 1.3 * self.force, 0.7, 1.3 * self.force, 1]
