Consolidated user input page code into abstract superclass