I'm a bit worried that the ownership semantics of the filters might differ from the Node::Ptr.  Eg, if the filters are constructed with a particular QObject parent, but the Node is owned by the SNI/cache implementation?