update filter manager, change the filters
fix silly bug: create shared pointers from existing shared pointers' raw
pointer...

I debugged a crash problem last night for hours, but have no idea why, I
even doubt if it is a bug of boost::enable_shared_from_this...

but finally, I was sleeping and thinking this problem, suddenly I realized
that the true reason is that a shared_ptr is created from another
shared_ptr's raw pointer... so they do not share the use_count of the
managed object. Now I understand why the use_count() I printed last night
do not match each other...

WTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTFWTF...