Splits _process() method to reduce complexity
Moves _getTypeItem() to base class
Splits methods to reduce complexity