The fundamental guiding principle of OO design