@kirillrakhman well, factory methods inside a companion objects is a kotlinish thing to do.
And delegating factory methods onto separate classes is more like Java thing.
From the syntax perspective the neatest thing is that it still looks like a constructor call.