implemented a plugin system (for clients), all of the magic happens in build.js & src/client/main.js