further work on garbage collection interface, updating tests to behave in gc-environment