feat(subgenerators): add the Filter generator

Closes #8