It would be nice to have tab completion given the number of long commands currently programmed into the engine. Doing this involves catching special keyboard characters (the tab key here). The system should be robust enough to handle other keys as well, since this would be helpful for command history.