Hide holeTextInput from the global scope
Split behaviour to smaller functions