Add base class, abstract_item_processor
Merge branch 'master' into 3.3/develop