convert getChoiceClicked to generic method to reduce casting
rename showComponent to waitForInput
use AtomicReference instead of LinkedList
added missing class