Add basic SAML auth flow
Move DML layer into Data
Add cache layer