Isn't that because of subclassing issues whereby someone could unknowingly override the common init method? If it's a function like this one that won't happen.