Lots of refactoring. ObjectManager -> Region and refactored