     
     private(set) var isEnabledDimmedBackgroundView: Bool?
     
-    override public init(){
+    public typealias VoidHandlerType = (() -> Void)
+    
+    override public init() {
         //Get a string as stroyboard name from this class name.
         storyboardName = String(describing: type(of:self))
     }

    /// - Parameters:
    ///   - seconds: Seconds to delay closing
    ///   - completion: Action to be performed after the popover disappeared. Omissible.
    open func disappearAutomatically(after seconds: Double, completion: (()-> Void)? = nil){
        // automatically hide the popover
        disappearAutomaticallyItems.seconds = seconds
        disappearAutomaticallyItems.completion = completion

    ///   - baseViewController: Base viewController
    ///   - permittedArrowDirections: The default value is '.any'. Omissible.
    /// - Returns: The configured navigationController
    open func configureNavigationController(storyboardName: String, originView: UIView, baseViewWhenOriginViewHasNoSuperview: UIView? = nil, baseViewController: UIViewController, permittedArrowDirections:UIPopoverArrowDirection = .any) -> UINavigationController? {
        var bundle:Bundle
        if let _ = Bundle.main.path(forResource: storyboardName, ofType: "storyboardc"){
            bundle = Bundle.main
