I would rather see this not going through the context.  Agents should never call this method right?  It is just part of the solver initial state.  So why can't we just pass the config straight to the solver instead of pass the config to the context and then have the timer extract the info from the context and use it to init the solver?

I would rather see a set_solver method on the context.  And the xml_file_loader can just init the solver itself and set the context's solver.  The timer can then just pull the solver from the context.  Then we don't need the Add or Process Commod methods on context.