Major refactor + implement Persona login