 <p>Thanks to you both, you were indeed correct Ken, I had read this similar post a lot of times, and somehow didnt understand the answer within: </p> <p><a href="http://stackoverflow.com/questions/3188816/calling-object-methods-internally-in-dojo">Calling object methods internally in dojo</a></p> <p>After reading what you have posted, I have somehow understood the answer linked above and now understand what my problem was! Thanks to all.</p> <p>I fixed it by altering my code in the main application as follows:</p> <pre><code>var appInterface = new Interface(); on(registry.byId("graphBtn"),"click", appInterface.toggleGraphWindow); </code></pre> <p>changed to:</p> <pre><code>var appInterface = new Interface(); var graphToggle = dojo.hitch(appInterface, "toggleGraphWindow"); on(registry.byId("graphBtn"),"click", graphToggle); </code></pre> <p>I believe the reason for the error, was that the "this" object at runtime, was actually the "graphBtn" instead of the appInterface.</p>