Architecture Cleanup
The implementation between SSI Abstraction and the "Managers" (e.g. Proof Manager) is currently a mix of aries framework usages, some simplifcations and wrappers, which is in the daily usage quite confusing because:
- one time the function wraps just aries functions
- one time you need to use the agent directly (e.g. for deleting proofs)
- one time the function wraps any functionality arround the framework.
This should be cleaned up in the following way:
- the managers aka controllers should implement each and every function of the agent as interface, with the goal to wrap the entire agent
- the agent must be event driven, that each manager is an consumer/sender of the events instead of an active user of APIs of the agent