Added plugin settings page to simulate a user interacting with plugins.
Some refactoring. Although there is probably a lot to do here. I will take some fresh eyes to look over this on Sunday.