When I try to delete a plugin A, another plugin B with an optional dependency on A blocks uninstallation. I understand the reason for that (data persistency, etc.), but a better engine would be useful. There are cases when deletion of A is safe, e.g. when B just implements a listener extension point.
E.g. a plugin could set optional marker in plugin B metadata which would mean that the plugin A can be safely removed. It would unblock some dependency management use-cases, e,g, for plugins with lots of optional dependencies (e.g. Ownership plugin)