 // MARK: Delegates / DataSources
 // MARK: UIPopoverPresentationControllerDelegate
 extension PopoverVC: UIPopoverPresentationControllerDelegate {
-    func prepareForPopoverPresentation(_ popoverPresentationController: UIPopoverPresentationController) {
+    public func prepareForPopoverPresentation(_ popoverPresentationController: UIPopoverPresentationController) {
         self.presentationDelegate?.prepareToPresent?(self)
     }
     
-    func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
+    public func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
         return self.presentationDelegate?.shouldDismiss?(self) ?? true
     }
     
-    func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
+    public func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
         self.presentationDelegate?.didDismiss?(self)
     }
 }

    }
    
    var _inset: CGFloat {
        get {
            return self.__inset
        }
        set(newInset) {
            guard newInset != self.__inset else { return }
            self.__inset = newInset

    private func __present(from viewController: UIViewController, animated: Bool, completion: (() -> Void)?) {
        class _BGView: RAPopoverBackgroundView {
            override class var backgroundColor: UIColor {
                get { return self._backgroundColor }
                set { self._backgroundColor = newValue }
            }
            
            override class var dimsBackground: Bool {
                get { return self._dimsBackground }
                set { self._dimsBackground = newValue }
            }
            
            override class var displaysBorderShadow: Bool {
                get { return self._displaysBorderShadow }
                set { self._displaysBorderShadow = newValue }
            }
            
            private static var _backgroundColor: UIColor = .white
            private static var _dimsBackground: Bool = true
            private static var _displaysBorderShadow: Bool = true
        }
        
        let bgViewClass: _BGView.Type = _BGView.self
