Extract UserInput, fix class visibility.