This will let each command return some sort of output. So commands like cd() will return output along the lines of:
{ stdout: '', stderr: /*some error message*/, code: 0, ... }
Commands that should probably be left as-is:
set() - it has nothing interesting to return, since it never fails
test() - returning a boolean as it currently does is probably the right move