Captures the builder's set() method so that we can validate the
data here. This allows it to be used with any of the other
builder methods and still get validated data, like replace.

@param mixed        $key
@param string       $value
@param boolean|null $escape

@return $this