muleContext.setExpressionManager(injectMuleContextIfRequired(new DefaultExpressionManager(),muleContext));
DefaultRegistryBroker registryBroker = new DefaultRegistryBroker(muleContext);
muleContext.setRegistryBroker(registryBroker);
muleContext.setMuleRegistry(new MuleRegistryHelper(registryBroker, muleContext));
muleContext.setLocalMuleClient(new DefaultLocalMuleClient(muleContext));
muleContext.setExceptionListener(new DefaultSystemExceptionStrategy(muleContext));
muleContext.setExecutionClassLoader(Thread.currentThread().getContextClassLoader());
return muleContext;
}