Factory Pattern implementation.

Read →