This allows a bit more control for scenarios where client might
modifiy a DIContext
Can you please provide a bit more context about when the client might want this function?
The first change is simply performance related.
The second allows a client to incrementally build a vector, using the getMutableFrame method to access individual frames