Seems all the useful principles of software design depend on your viewpoint. Not sure if we need better language or axioms