Renamed Listener to TakeInput, added RequiredInputs interface, added test for TakeInput, need to fix broken classes as a result of Listener refactor