Do not combine package cycle and direct neighbour filter

Treat neighbour filter just like any other custom filter to achieve
consistency in behaviour.
Refactoring: Use constructor instead of setter