The next step is to actually make this work correctly - right now the API isn't actually exposed from libapt-private.
And then rewrite the reporting. For each step of the implication graph, we need to look back up the original Dependency in the cache and then render one per line.
And this will become the error reporting format too so you get error messages like
...