MDL-20734 normalise_value() - moving from private to protected everywhere and abstracting