JSFiddle - React, Tailwind, and code Playground

JavaScript

enyo.kind({
    name:"models.User",
    kind:"Component",
    count: 0,
    logout:function() {
        alert("logged out " + (this.count++) + " times");
    }
});

enyo.singleton({
    name:"App",
    kind:"Component",
    components:[
        {name:"User", kind:"models.User"}
    ]
});

enyo.kind({
    name:"ex.App",
    statics:{
        User:new models.User()
    },
    components:[
        {kind:"onyx.Button", content:"Logout", ontap:"logout"}
    ],
    logout:function() {
        App.$.User.logout();
        ex.App.User.logout();
    }
});

new ex.App().renderInto(document.body);