Plugins API expansion & update

Plugins API expansion & update
The basic test tests the case of only 1 plugin, which may find bugs which would be hidden if more than 1 plugin was in use