     }
 }
 
-// MARK: - Optional Protocol Methods for YPDrawSignatureViewDelegate
+// MARK: - Protocol Methods for YPDrawSignatureViewDelegate
 /// ## YPDrawSignatureViewDelegate Protocol
 /// YPDrawSignatureViewDelegate:
 /// - startedDrawing()
 /// - finishedDrawing()
-@objc protocol YPSignatureDelegate: class {
-    @objc optional func startedDrawing()
-    @objc optional func finishedDrawing()
+protocol YPSignatureDelegate: class {
+    func startedDrawing()
+    func finishedDrawing()
 }

        }
        
        if let delegate = self.delegate {
            delegate.startedDrawing!()
        }
    }
    

@IBDesignable
public class YPDrawSignatureView: UIView {
    
    weak var delegate: YPSignatureDelegate?
    
    // MARK: - Public properties
    @IBInspectable public var strokeWidth: CGFloat = 2.0 {
