angular.module('webui.services.modals', []) .factory('$modals', function() { var modals = {}; return { // register a new modal, cb is the function which // will further recieve the args when called through // invoke register: function(name, cb) { modals[name] = cb; }, // invoke an already registered modal, false if not found invoke: function(name, cb) { if (!modals[name]) return false; var args = Array.prototype.slice.call(arguments, 1); return modals[name].apply({}, args); } }; });