             CGPathRelease(path)
         }
     }
-}
+    
+    class KeyboardKeyPopup: UIControl {
+        
+        init(frame: CGRect, vertical: Bool) {
+            super.init(frame: frame)
+            self.layer.backgroundColor = UIColor.redColor().CGColor
+        }
+        
+        // if action is nil, the key is not selectable
+        func addOption(option: String, action: String?) {
+        }
+    }
+}

        
        super.init(frame: frame)
        
        self.addSubview(self.keyView)
    }
    
//    override func sizeThatFits(size: CGSize) -> CGSize {

@IBDesignable class KeyboardKey: UIControl {
    
    var keyView: KeyboardKeyBackground
    var popup: KeyboardKeyPopup?
    
    @IBInspectable var text: String! {
    didSet {
