Make type and setversion configurable

This helps to do some stuff like https://github.com/dylang/grunt-prompt/issues/19
+ modularity