A feature rich alternative for `gets` and `puts` for your cli interface