         fatalError("init(coder:) has not been implemented")
     }
     
+    /// Configures overlay and touch gesture recognizers
     func setup() {
-        // Shape layer mask
-        shapeLayerMask.fillRule = kCAFillRuleEvenOdd
-        shapeLayerMask.fillColor = UIColor(white: 0.0, alpha: 0.8).cgColor
-        layer.addSublayer(shapeLayerMask)
-        
-        // Capture touches
+        // Overlay config
+        overlay.fillRule = kCAFillRuleEvenOdd
+        overlay.fillColor = UIColor(white: 0.0, alpha: 0.8).cgColor
+        layer.addSublayer(overlay)
+        
+        // Gesture recognizer config
         let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(userDidTap(_:)))
         let swipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(userDidTap(_:)))
         swipeGestureRecognizer.direction = [.left, .right]

        })
    }
    
    func goToCoachmark(index: Int) {
        // Out of bounds
        guard index < coachMarks.count else {

import Foundation
import UIKit

// MARK: - CoachMarksView Delegate
protocol CoachMarksViewDelegate: class {
    func coachMarksView(_ coachMarksView: CoachMarksView, willNavigateTo index: Int)
    func coachMarksView(_ coachMarksView: CoachMarksView, didNavigateTo index: Int)
