An experiment on handling inheritance and constructors so that it makes sense