Why is the order of calling constructors is governed by the order in the class declaration?