The main problem for an individual but mixable module is that you can't exactly know the context you would be mixed in, unless the mixing module and the language provide some facilities like contract or interface. I've tried to use JavaScript's closure to make sure the mixed and mixing modules still keep coupling as low as possible, and the mixed module still make sure that it can get everything it needed.

Of course this module apparently could only be mixed by AppWindow so far, and in this case maybe it's not so generic. However, I'm trying a proper way to do this.