ability to transform values before they are set