Initial commit. Although it does work, I think it's a suboptimal solution.

Will work on implementing it as an IdentityStore tomorrow.