Add basic authentications (pending test coverage) and a plugin architecture.