Begin implementing abstract platform

Yeah, this is fine.