export function dispatch(el, eventName, payload) {
  el || (el = document);
  el = el.el || el;
  var event = new CustomEvent(eventName);
  event.details = payload || {};
  el.dispatchEvent(event);
}

export function listen(el, eventName, callback) {
  el || (el = document);
  el = el.el || el;
  el.addEventListener(eventName, callback);
  return callback; // return callback reference for unbinding
}