I agree, in general. In this case, I used an instance variable because I have already decided that dsl shouldn't be a module. These methods are only ever called be the `Shoes::App`. They should just be methods in that class. And then, using a method requires us to occupy *two* names: `@__real_app__` and `__real_app__`. But I could be convinced that it's worth *doubling* our impact :)

> On Dec 20, 2013, at 5:10, Tobias Pfeiffer <notifications@github.com> wrote:
> 
> In lib/shoes/dsl.rb:
> 
> > @@ -55,7 +58,7 @@ def pattern(*args)
> >      def style(klass_or_styles = nil, styles = {})
> >        if klass_or_styles.kind_of? Class
> >          klass = klass_or_styles
> > -        @element_styles[klass] = styles
> > +        @__private_proxy__.element_styles[klass] = styles
> I personally don't like relying on instance variables in modules. E.g. I think methods are better because it's easier to adjust a class so that it has a method returning an object that is needed. And in that context maybe something like __real_app__ would be better or so.
> 
> —
> Reply to this email directly or view it on GitHub.