That's been done.
Clearing is a form of registration.
Add a common entry point.
Document the run-and-exit entry point.