First try at layered input handling, so we can do prompts and stuff.