Group dynamic plug fixes

This pull request addresses all the problems documented by #303. It refactors the InputGenerator into a Behaviour and adds bindings, tests and bug fixes for it. This is then used to replace the original Group input code, fixing the bugs in the process.