code: function(skipActions) {
  			var result = [];
  			skipActions = skipActions || [];
  			this.getList().forEach(function(action) {
  				if (action.options.hidden || ~skipActions.indexOf(action.name))
  					return;
  				
  				var actionName = humanizeActionName(action.name);
  				var ctx = result;
  				if (action.options.label) {
  					var parts = action.options.label.split('/');
  					actionName = parts.pop();
  					
  					// create submenus, if needed
  					var menuName, submenu;
  					while ((menuName = parts.shift())) {
  						submenu = utils.find(ctx, function(item) {
  							return item.type == 'submenu' && item.name == menuName;
  						});
  						
  						if (!submenu) {
  							submenu = {
  								name: menuName,
  								type: 'submenu',
  								items: []
  							};
  							ctx.push(submenu);
  						}
  						
  						ctx = submenu.items;
  					}
  				}
  				
  				ctx.push({
  					type: 'action',
  					name: action.name,
  					label: actionName
  				});
  			});
  			
  			return result;
  		}
docs: Returns actions list as structured menu. If action has <i>label</i>,
  it will be splitted by '/' symbol into submenus (for example:
  CSS/Reflect Value) and grouped with other items
  @param {Array} skipActions List of action identifiers that should be
  skipped from menu
  @returns {Array}