Building Custom User Interface using @IBDesignable and @IBInspectable