Why not a general architecture to run command line tools, of which the maintenance tool is just a more specific set/scope with maybe it's own registry ?
Basically https://laravel.com/docs/5.6/artisan
which also allows you to document the command and its arguments and even to call command line programs programmatically, to run them using a scheduler or to queue the command itself as job.
Ive been enjoying using that a lot.