Factory. Design pattern.