Refactored, added AbstractTypeIdResolver