 
   // MARK: Properties
 
-  let duration: CFTimeInterval = 1.9
-  let satelliteCoreRatio: CGFloat = 0.25
-  let distanceRatio: CGFloat = 1.5
-  var coreSize: CGFloat = 0
-  var satelliteSize: CGFloat = 0
-  var size: CGSize = .zero
+  fileprivate let duration: CFTimeInterval = 1.9
+  fileprivate let satelliteCoreRatio: CGFloat = 0.25
+  fileprivate let distanceRatio: CGFloat = 1.5
+  fileprivate var coreSize: CGFloat = 0
+  fileprivate var satelliteSize: CGFloat = 0
+  fileprivate var size: CGSize = .zero
 
   // MARK: ActivityIndicatorAnimating
 


private extension ActivityIndicatorAnimationOrbit {

  func ring2InLayer(layer: CALayer, color: UIColor) {
    let animation = ring2Animation
    let circle = ActivityIndicatorShape.Circle.makeLayer(size: CGSize(width: coreSize, height: coreSize), color: color)
    let frame = CGRect(x: (layer.bounds.size.width - coreSize) / 2,

    layer.addSublayer(circle)
  }

  func makeSatelliteRotateAnimation(layer: CALayer) -> CAKeyframeAnimation {
    let rotateAnimation = CAKeyframeAnimation(keyPath: "position")
    rotateAnimation.path = UIBezierPath(arcCenter: CGPoint(x: layer.bounds.midX, y: layer.bounds.midY),
                                        radius: (size.width - satelliteSize) / 2,
