- refactored logic to separate NumberPad