*Really* interesting concept! :+1:

Perhaps this should be moved to the `Algorithm\Groups` instead? Also some comments and/or unit tests would be nice.