Got rid of filter function's caching wrapper which was unncessary.
Refactorised the form of processing function to open it for new options.
Extracted code doing actual filtering to a separate function.
Extracted code applying transformations to a separate function.
Updated functions order (asc name).
Added entire elements disallowing.