#factory-design-pattern - Vitaly Batrakov