Unauthorized page + misc small updates

- Unauthorized page for redirection logic (instead of doing it in the login page)
- Remove revealInParent
- Use diamonds
Just tried it you can access the interface from outside the package but you can't have a non package class implement it.