Factory patter used to create gates from others