Plugin system updated to use annotations instead of inherited methods