Classical Inheritance Pattern at its best.