int loop(VectorType &solution, const std::function< void(VectorType &, const Number, const Number, const std::function< void(const VectorType &, VectorType &, const Number)> &)> &time_integrator, const std::function< void(const VectorType &, VectorType &, const Number)> &runnable, const std::function< void(const Number)> &diagnostics)