separate controller and visitors
interface out awt-specific ui
make text field not int-specific