Group

@commuterjoy 

needs a lot of testing so nowhere near ready to merge, but let me know what you think.

I've renamed a lot of variables - too many uuids and uids before so very difficult to scan
nice :)