Several fixed to the classes, mainly to make the implementations
immutable.