Added a way to run plugins offline; split plugins into separate classes

All of the plugins should run, but will probably need formating changes