     /// - 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){
+    open func disappearAutomatically(after seconds: Double, completion: VoidHandlerType? = nil){
         // automatically hide the popover
         disappearAutomaticallyItems.seconds = seconds
         disappearAutomaticallyItems.completion = completion

    ///   - baseViewController: Base viewController
    ///   - completion: Action to be performed after the popover appeared. Omissible.
    
    open func appear(originView: UIView, baseViewWhenOriginViewHasNoSuperview: UIView? = nil, baseViewController: UIViewController, completion:( () -> Void)? = nil){
        // create navigationController
        guard let navigationController = configureNavigationController(storyboardName: storyboardName, originView: originView, baseViewWhenOriginViewHasNoSuperview: baseViewWhenOriginViewHasNoSuperview, baseViewController: baseViewController, permittedArrowDirections: permittedArrowDirections ) else {
            return

    ///   - baseViewController: Base viewController
    ///   - completion: Action to be performed after the popover appeared. Omissible.
    
    open func appear(barButtonItem: UIBarButtonItem, baseViewWhenOriginViewHasNoSuperview:  UIView? = nil, baseViewController: UIViewController, completion: VoidHandlerType? = nil) {
        guard let originView = barButtonItem.value(forKey: "view") as? UIView else {
            return
        }
