[WIP] Added some playStates code and some tests for it.

Just uploading because I was WFH