Instead of fetching the text from the filter func, we can just reset the filter func with custom data.
The lib/ directory was getting a bit out of hand, so this tries to organize things a bit so it is easier going forward to locate the code people want to patch.