Refactored Encounterable to AbstractEncounterable.