Credentials is now immutable.
Refactored the Authentication system. Lots of JavaDoc still missing.