 public class DSRadialMenu: UIView {
     
     public typealias MenuItem = (button: UIButton, position: MenuItemPosition)
-
+    
     @IBOutlet public weak var centerButton: UIButton!
     
     @IBInspectable public var menuItemSize = CGSize(width: 50, height: 50)
     @IBInspectable public var distanceFromCenter: Double = 100
     
     var distanceBetweenMenuItems: Double = 30
-    private(set) public var menuItems = [MenuItem]()
-    private(set) public var state: MenuState = .Closed
+    
+    public private(set) var menuItems = [MenuItem]()
+    public private(set) var state: MenuState = .Closed
     public weak var delegate: DSRadialMenuDelegate?
     
     public enum MenuState {

    func animateMenuItemOut(menuItem: MenuItem) {
        menuItem.button.hidden = false
        let point = calculateMenuItemPoint(menuItem.position)
        UIView.animateWithDuration(0.4, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.6, options: .CurveEaseInOut, animations: { () -> Void in
            menuItem.button.transform = CGAffineTransformMakeTranslation(point.x, point.y)
            }, completion: nil)
    }
    
    func animateMenuItemIn(menuItem: MenuItem) {
        UIView.animateWithDuration(0.4, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 0.4, options: .CurveEaseInOut, animations: { () -> Void in
            menuItem.button.transform = CGAffineTransformIdentity
            }, completion: { (finished) -> Void in
                menuItem.button.hidden = true
        })
    }
    

    // MARK: Public
    
    public func addMenuItem<T: UIButton>(title: String, position: MenuItemPosition) -> T {
        return addMenuItem(title, position: position, size: menuItemSize)
    }
    
    public func addMenuItem<T: UIButton>(title: String, position: MenuItemPosition, size: CGSize) -> T {
