yeah but it's still the last line, the initialization isn't done yet :) we would still be exposing to plugins etc. the state of an object during its initialization, which is not good practice. Also, we would be calling external listeners from a constructor, this feels pretty bad to me.

At the end of the day the shard gets created by the `create` method, thus I believe it makes sense and is safer to call the listener from there.

Did I convince you? :)