Cleaned up the environment interface and broke out method creation in
base.