Change FilterFactory code to pass in the actual Description

I still need to write more tests, but I wanted to send this out for an early look.
@dsaff I added a test. I needed to refactor the code a bit. I added a new commit with just those changes so hopefully it will be easy to review. If it looks good, I'll merge from main, update the code style, rebase and squash commits