customisable proxy for .val()