Currently every Quantum Algorithm directly returns a solution.
This makes the integration of other QC frameworks infeasible.
We can improve this by modularing the Algorithm Execution.
Algorithms should return Circuits instead of Solutions.
The Circuits can then be given to different components that execute the circuits and return a solution.
Examples for such components can be: Simulation, Real Backends, Error Mitigation Frameworks, Automated Backend Selection Tools, etc...
An example is illustrated below:
