Final refactoring before trying to make orthodox canonical form classes.