Can you explain why there is a need for two context and createMuleContextToInject returns the same instance that it received as a param?