Implement ExperienceOrb. Merges #97