I may have solved a long standing problem with Object Oriented systems