A Groovy framework for creating task based CLIs