Constructors and Breaking the Liskov Substitution Principle