Pulled out Plugin system, not required, updated Persist to be library instead of plugin