It'd be cool if there was consistent use of this throughout the implementation. In your class you have an instance method for `add` which just aliases `instance.node.add`.  Since you're passing `node` into the instance, you could just run `this.add(this.banner)` after init.  Then change all your calls to `this.node.add` to `this.add`.  It's semantics, but it makes it clear that in all scenarios we're dealing with this single instance of `SourceNode`.

Just a suggestion for clarity.