concurrent midi and pc-keyboard input with threading. input class for commands. state observer to detect state change