The environment is now given to systems as a parameter, so that we can prevent lots of dependency injection