Going for the factory pattern to decouple this.