Ensure all dependencies are asynchronously initialized and other cleanup
Make dependency init async
Asynchronously init each dependency during walk
optimizerContext instead of context
Various cleanup