Feature/add environment

I cant see why does one need all these methods if we expose inner ``_environment`` freely?