Function pointers are passed to ofxTerminal, which binds them to specified words. ofxTerminal supports things like autocompletion via tab (works almost identically to sh/bash), command history via up and down keys and other thing you expect from a terminal such as a blinking cursor.