This smells like it could be a method on Filter perhaps?