 let _delegateKey = malloc(4)
 
 @objc public protocol SwiftyGifDelegate {
-    @objc optional func gifDidStart()
-    @objc optional func gifDidLoop()
-    @objc optional func gifDidStop()
+    @objc optional func gifDidStart(sender: UIImageView)
+    @objc optional func gifDidLoop(sender: UIImageView)
+    @objc optional func gifDidStop(sender: UIImageView)
 }
 
 public extension UIImageView {

                    if self.loopCount > 0 {
                        self.loopCount -= 1
                    }
                    self.delegate?.gifDidLoop?()
                }
            }
        }

            objc_setAssociatedObject(self, _isPlayingKey, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN);
            
            if newValue {
                self.delegate?.gifDidStart?(sender: self)
            } else {
                self.delegate?.gifDidStop?(sender: self)
            }
        }
    }
