redefine "set" (out) with "sink" and "define" (in) with "provider"