added filter object to displace the filter handler

Added a filter object with an object lifetime, superseding the previous filter
handler. This was then integrated into the enumeration and iterator types.