Add GroupOptions class to simplify view

This is so much better thanks @jonlemmon.
This pull request is only 3 files. Somehow i feel I have picked up some stuff from your work with master. Sorry :scream: