Core refactoring

- FrontendPluginFactory is not static
- Don't pass loggers explicitly, use SLF4J