Factory method design pattern in action