use filter delegator pattern in class_methods as well, don't lock single filter ops