Fixed #39: Separate out the Environment component.
Fixed requirement on the Environment component.