What I'd like to have is:

1. A Test::Run::CmdLine front-end initialises a Test::Run::Obj back-end.

2. A command-line interface class instantiates a 
Test::Run::CmdLine derivative plus Plugins class and in turn lets it run.

3. This front-end class instantiates a back-end class possibly adding plug-ins
to it.

4. It calls this class and let it run.

Where everything should be found?
---------------------------------

Test::Run::CmdLine plug-ins should be under Test::Run::CmdLine::Plugin::.

Test::Run::Obj plug-ins should be under Test::Run::Plugin::

The Test::Run::CmdLine interface will be called Test::Run::CmdLine::Iface.

T::R::CL::I will initialise $ENV{'HARNESS_DRIVER'} (or $args{'driver_class'}), 
and load it with the extra plugins $ENV{'HARNESS_PLUGINS'} 
(or $args{'driver_plugins'}). Then it will push Test::Run::CmdLine to the end 
of its @ISA.

Test::Run::CmdLine will initialise the class that the plug-ins tell it to
(or to Test::Run::Iface by default), load it with all the extra plug-ins, and 
finally push Test::Run::Obj to its @ISA. Then it will let it run.

A plugin always resides under Test::Run::Plugin::. 

