Refactored Environment object.