Move 'plugin' module to 'API' module and implement serialisable components