Put 'initial' arg in solvers after func args

This seems more natural. So now all solver take in the callbacks and
then solver specific arguments.