Move plugins into separate files, use same wrapper for all files, refactor