Begin implementing abstract platform

Yeah, correct. Until I find a better solution. I might have to sleep on it.