JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgit.com/Addvilz/eventmachine/master/dist/eventmachine.js?v1.1.1"></script>
<button type="button" id="raw_event">Simple event</button>
<button type="button" id="em_event">EM event</button>
<button type="button" id="reset">Reset</button>
<div id="content"></div>
<div id="result"></div>

JavaScript

$(document).ready(function () {
    var em = EventMachine({});

    // This function simulates 2 seconds of work
    var longRunningFunction = function (isDirect) {
        var date = Date.now();
        var curDate = null;
        do {
            curDate = Date.now();
        } while (curDate - date < 2000);
        $('#result').html(isDirect ? 'Long running done' : 'Long running done with EM');
    };

    em.on('event', longRunningFunction);

    $('#raw_event').click(function () {
        $('#content').html('Pressed raw');
        // Notice this is placed after the HTML update...
        longRunningFunction(true);
    });

    $('#em_event').click(function () {
        $('#content').html('Pressed EM');
        em.emmit('event', false);
    });

    $('#reset').click(function () {
        $('#content').html('');
        $('#result').html('');
    });
});