All filters can be named
Don't need deepcopy
Fixed broken extra filter parameters (_cache, _cache_key etc.) and overall filter refactoring
Pulled common bits of HasChildFilter and HasParentFilter to HasFilter