Base implementation

- [ ] Registration (with csrf)
- [ ] Authentication (with csrf)
- [ ] Optional account activation (Using `Roave\NonceUtility && Roave\EmailTemplates` )
Wouldn't design it as an `abstract`. What's the reason for this choice here? Why not just one or multiple interfaces?