          */
         
         let tapGestureRecognizer = SNTapGestureRecognizer(handlerBlock: block)
+        
+        
+        /*
+         * Add gesture recognizer to receiver.
+         */
+        
+        addGestureRecognizer(tapGestureRecognizer)
+        
+        
+        /*
+         * Return receiver's instance for support of chain calls.
+         */
+        
+        return self
+    }
+    
+    /**
+    Adds `UITapGestureRecognizer` instance to receiver.
+    Block will be called the first time only. After that, gesture recognizer will be removed from receiver.
+    
+    Since this method returns receiver instance, it supports chain calls.
+    
+    **Note**: After first recognition, gesture recognizer will be removed from view.
+    
+    - parameters:
+        - block: Called when `UITapGestureRecognizer` instance changes its state.
+    
+    - returns:
+        Receiver instance for support of chain calls.
+    */
+    public func onTapOnce(block: SNTapGestureRecognizerHandlerBlock) -> UIView {
+        /*
+         * Obtain handler block for gesture recognizer.
+         */
+        
+        let handlerBlockForTapGestureRecognizer: SNTapGestureRecognizerHandlerBlock = { (tapGestureRecognizer) in
+            block(tapGestureRecognizer: tapGestureRecognizer)
+            self.removeGestureRecognizer(tapGestureRecognizer)
+        }
+        
+        
+        /*
+         * Create gesture recognizer instance.
+         */
+        
+        let tapGestureRecognizer = SNTapGestureRecognizer(handlerBlock: handlerBlockForTapGestureRecognizer)
         
         
         /*

    
    /**
    Adds `UIRotationGestureRecognizer` instance to receiver.
    
    Since this method returns receiver instance, it supports chain calls.
    
    - parameters:
        - block: Called when `UIRotationGestureRecognizer` instance changes its state.
    
    - returns:
        Receiver instance for support of chain calls.

    
    /**
    Adds `UIScreenEdgePanGestureRecognizer` instance to receiver.
    Block will be called the first time only. After that, gesture recognizer will be removed from receiver.
    
    Since this method returns receiver instance, it supports chain calls.
    
    **Note**: After first recognition, gesture recognizer will be removed from view.
    
    - parameters:
        - block: Called when `UIScreenEdgePanGestureRecognizer` instance changes its state.
        - configureScreenEdgePanGestureRecognizer: Allows to configure `UIScreenEdgePanGestureRecognizer` instance.
            It's recommended to change settings of gesture recognizer inside of this block.
     
            For example, you can save `UIScreenEdgePanGestureRecognizer`'s reference somewhere to control it later.
            But it's not necessary since `block` (the first parameter) gives you a full control of the gesture.
     
    - returns:
        Receiver instance for support of chain calls.
    */
    public func onScreenEdgePanOnce(block: SNScreenEdgePanGestureRecognizerHandlerBlock, configureScreenEdgePanGestureRecognizer: SNScreenEdgePanGestureRecognizerConfigurationBlock) -> UIView {
        /*
         * Obtain handler block for gesture recognizer.
         */
        
        let handlerBlockForScreenEdgePanGestureRecognizer: SNScreenEdgePanGestureRecognizerHandlerBlock = { (screenEdgePanGestureRecognizer) in
            block(screenEdgePanGestureRecognizer: screenEdgePanGestureRecognizer)
            self.removeGestureRecognizer(screenEdgePanGestureRecognizer)
        }
        
        
        /*
         * Create gesture recognizer instance.
         */
        
        let screenEdgePanGestureRecognizer = SNScreenEdgePanGestureRecognizer(handlerBlock: handlerBlockForScreenEdgePanGestureRecognizer)
        
        
        /*
         * Add gesture recognizer to receiver.
         */
        
        addGestureRecognizer(screenEdgePanGestureRecognizer)
        
        
        /*
         * Call configuration block for gesture recognizer.
         */
        
        configureScreenEdgePanGestureRecognizer(screenEdgePanGestureRecognizer: screenEdgePanGestureRecognizer)
        
        
        /*
         * Return receiver's instance for support of chain calls.
         */
        
        return self
    }
    
    /**
    Adds `UIScreenEdgePanGestureRecognizer` instance to receiver.
    
    Since this method returns receiver instance, it supports chain calls.
    
    - parameters:
        - block: Called when `UIScreenEdgePanGestureRecognizer` instance changes its state.
    
    - returns:
        Receiver instance for support of chain calls.
