Engines are pluggable subsystems. Each engine of a specific type will
implement the same set of API functions and perform the same high-level
task using a different backend or approach.

This function/hook is useful when you have a selection of several mutually
exclusive options to present to a user to select from.

Other commands are able to extend this list and provide their own engines.
The hook can return useful information to help users decide which engine
they need, such as description or list of available engine options.

The engine path element will automatically default to a subdirectory (within
the directory of the commandfile that implemented the hook) with the name of
the type of engine - e.g. an engine "wget" of type "handler" provided by
the "pm" commandfile would automatically be found if the file
"pm/handler/wget.inc" exists and a specific path is not provided.