Доброго дня! вопрос в следующем: имеется модуль: 
if($('.minicart-side').length){
				$('.minicart-link').on('click',function(e){
					e.preventDefault();
					e.stopPropagation();
					
					if($('.minicart-side').hasClass("open")){
						$('.minicart-side').removeClass("open");
					}else{
						$('.minicart-side').addClass("open");
					}
					
				});
				$('body').on('click', $.proxy( function(e){
					var element = $(e.target);
					if($('.minicart-side').length && $('.minicart-side').hasClass('open')){
						if(!element.is('.minicart-side') && element.parents('.minicart-side').length === 0 )
						{
							$('.minicart-side').removeClass('open');
						}
					}
				}, this) );
				
			}
он работает следующим образом: при клике на кнопку корзины он открывает/скрывает корзину, а так же скрывыет её при клике вне области корзины... 
собираюсь использовать эту реализацию и в других компонентах, таких как выпадающее меню и выпадающий поиск...
Вопрос: как лучше реализовать данный скрипт да бы не копипастить его в каждый модуль? я так понимаю нужно создать вспомогательную функцию и уже её вставлять в каждый из компонентов?