(#8) - Remove factory pattern usage