VariableField now takes a filter lambda function