         }
     }
     
-    weak var delegate: KKFloatingMaterialButtonDelegate?
-    weak var dataSource: KKFloatingMaterialButtonDataSource! //must be set
+    public weak var delegate: KKFloatingMaterialButtonDelegate?
+    public weak var dataSource: KKFloatingMaterialButtonDataSource! //must be set
     
     //Constants
     private let screenWidth = CGRectGetWidth(UIScreen.mainScreen().bounds)

        return UIApplication.sharedApplication().keyWindow
    }
    
    func configureViews() {
        
        windowView = UIView(frame: UIScreen.mainScreen().bounds)
        self.configureBgView()

    
    
    //Exposed Properties
    public var menuBgColor: UIColor? = UIColor.greenColor() {
        didSet {
            self.bgView?.backgroundColor = menuBgColor
        }
    }
    
    public var buttonBgColor: UIColor? {
        didSet {
            self.button?.backgroundColor = buttonBgColor
        }
    }
    
    public var buttonShadowRadius: CGFloat? {
        didSet {
            
            if buttonShadowRadius != nil {
