Excellent thoughts about child. You are right there should definitely be specs for it if it is left in. We are still missing some specs so yeah.

About the actual implementation, I think the groups don't have to be on app - I just thought so since some mouse listeners etc. are registered there. Having it in a class side instance variable isn't bad either. And about the powerful features, yes Ruby totally has those which is awesome. But with great power comes great responsibility. For instance method_messing can be amazing, but it can also be the source of many headaches - but you will figure that out along the way (and so are we all). I'm told for stuff like that Metaprogramming Ruby is an excellent read, although I haven't read it yet.