Separate LfdEnvironment from simulation and separate simulation abstraction.
Fix merge conflicts in environment