feature/rom clean up with updated ROM and memory adapter

hey there...so after some digging I've found out the cause of massive perf issues and fixed it. I also cleaned up your implementation of memory framework so that it creates the env only once and memoizes it (previously it was returning new env on every call.

I also simplified the related spec.

BTW - you don't really *need* to generate those ids. ROM doesn't need that, when there's no key then all attributes are used to identify an object.