let callees = [] function bind (name, el) { callees.push({ name: name, element: el }) } function release (el) { callees = callees.filter((callee) => callee.element !== el) } function fire (command) { console.info('COMMAND >>', command) const splitted = command.split(':') const target = splitted[0] const targetCommand = splitted[1] const targetCallees = callees .filter((callee) => callee.name === target) targetCallees.forEach((callee) => { callee.element.fire(targetCommand) }) } export default { bind, release, fire }