In the usvn package, there is the SysConsole class. You might want to check it.
It is sort of waiting for being moved to CtrlLib or something like that, after perhaps some refurbishing. Maybe you can try it out of usvn context to check what is missing for general use?