JSFiddle - React, Tailwind, and code Playground

JavaScript

var events = new function() {
	  var _triggers = {};

	  this.on = function(event,callback) {
		  if(!_triggers[event])
		      _triggers[event] = [];
		  _triggers[event].push( callback );
		}

	  this.triggerHandler = function() {
	      if( _triggers['eventCustom'] ) {
	          for( i in _triggers['eventCustom'] )
	              _triggers['eventCustom'][i]();
	      }
	  }
	};

	var MyClass = (function(){

	      var MyClass = function () {

	          this.say = function() {
	              alert('Num ' + this.someProperty);
	              events.triggerHandler('eventCustom');
	          }
	      };

	      return MyClass;

	  })();

	  TheClass = new MyClass();

	  events.on('eventCustom', function() {
	      alert('Event!');
	  });
	  events.on('eventCustom', function() {
	      alert('Another Event!');
	  });

	  TheClass.say();