Jak buforować instancję podskładników w komponentach

Wiele przykładów Sencha Touch, które znalazłem w Internecie, nie skupia się na właściwej enkapsulacji widoku. Kontroler kontroluje zdarzenia każdego przycisku, nawet jeśli przycisk jest głęboko zagnieżdżony wewnątrz widoku. Innymi słowy, wewnętrzna strona widoku przecieka, przez co nigdy nie jest dobra.

Znalazłem jeden dobry samouczek, który zachęca do tworzenia sensownych poglądów, które słuchają lokalnych wydarzeń i podnoszą sensowne wydarzenia biznesowe itp.

http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-app-part-2/

Jednak jedną z rzeczy, których tak naprawdę nie mogłem do tej pory zrozumieć, jest jak najlepiej buforować instancje zagnieżdżonych komponentów. Rozważmy następujący przykład:

Ext.define("NotesApp.view.NotesListContainer", {
    extend: "Ext.Container",
    alias: "widget.noteslistcontainer",

    initialize: function () {

        this.callParent(arguments);

        var newButton = {
            xtype: "button",
            text: 'New',
            ui: 'action',
            handler: this.onNewButtonTap,
            scope: this
        };

        var topToolbar = {
            xtype: "toolbar",
            title: 'My Notes',
            docked: "top",
            items: [
                { xtype: 'spacer' },
                newButton
            ]
        };

        this.add([topToolbar]);
    },
    onNewButtonTap: function () {
        console.log("newNoteCommand");
        this.fireEvent("newNoteCommand", this);
    },
    config: {
        layout: {
            type: 'fit'
        }
    }
});

Powiedzmy, że chcemy dodać metodęsetSpecialUIState do naszegoNotesListContainer. Kiedy się nazywa, chcemy coś zrobić znewButton (np. ukryj). Jak uzyskać dostęp donewButton przykład bez nadużywaniaExt.getComp() za to? Czy mogę ustawić go jako zmienną instancji? Jak wygląda kanoniczny sposób?

AKTUALIZACJA

Właśnie próbowałem tego, jak sugerował Nikolaj Borisik.

    this._newButton = this.add([{
            xtype: "button",
            text: 'New',
            ui: 'action',
            handler: this.onNewButtonTap,
            scope: this
        }];

To działa jak urok. Po prostu nie wiem, czy jest to idiomatyczne, czy też nie ma żadnych wad. W przeciwnym razie bardzo polecam to zrobić. Pomijając, znacznie lepiej jest tworzyć sensowne widoki, które oddzielają spójne części interfejsu użytkownika. To o wiele lepsze niż wyciek każdego przycisku do kontrolera i baw się nimi bezpośrednio.

Zastanawiam się, czy są jakieś wady tego podejścia?