Added the WorldImpl abstract class to reduce repetition of code across
ArrayWorld and PackedWorld. Everything works at this point.