As it's a plugin based system, you need to start by defining a base interface that all your plugins will conform to. Only you can do this because you have access to your requirements, but I might code one as:
public interface IPlugin
{
string Name { set; get; }
void Initialize();
void Run();
}
You could then use something like the Managed Extensibility Framework (MEF) to automatically load the plugins based on some criteria, e.g. they all sit inside a Plugins directory.