Why using a static method here rather than a plain constructor (Just out of curiosity) ?