Edit in JSFiddle

var MAX_CLICKS = 5

/* Module 1 ---------------------------------------------------- */

var ctClicks = 0;

function ClickOn_btClick(e) 
{
  var _data = {
    clicksCounter: ++ctClicks,
    From: 'Module 1'
  };
  $(document).trigger('CtClickEvt', [_data, ClickProcessCallback]);
}

$('#btClick').on('click', ClickOn_btClick);

function ClickProcessCallback(pIntoBounds, pDate) 
{
  if (pIntoBounds) {
    $('#lbCtClicks').text(ctClicks);
    $('#lbLastClick').text(pDate.toUTCString());
  }
  if (ctClicks == MAX_CLICKS) {
    $('#btClick').prop('disabled', true);
  }
}

/* Core Business Rules Module ----------------------------------------------  */

function CtClickEvtFunc(e, pData, pCallback) 
{
  pCallback(pData.clicksCounter <= MAX_CLICKS, new Date());
}

$(document).on('CtClickEvt', CtClickEvtFunc);
<h4><span id="lbCtClicks">0</span> / 5 (Clicks). Last click @: <span id="lbLastClick"></span></h4>
<button id="btClick">Click me</button>