     case Symbols
   }
 
-  private(set) var previousShiftState: CustomKeyboardShiftState = .Once
   private(set) var keyboardLayoutState: CustomKeyboardLayoutState = .Letters(shiftState: CustomKeyboardShiftState.Once) {
     didSet {
       keyboardLayoutStateDidChange(oldState: oldValue, newState: keyboardLayoutState)


      // Update keyboard layout state
      case .Letters:
        keyboardLayoutState = .Letters(shiftState: previousShiftState)
      case .Numbers:
        keyboardLayoutState = .Numbers
      case .Symbols:

    let newKeyboardLayout = getKeyboardLayout(ofState: newState)
    newKeyboardLayout.delegate = self
    addSubview(newKeyboardLayout)
  }

  public func reload() {
