Fixing AbstractFilter::factory() method so that it supports callback filters