Well, figured out the best way to abstract platforms and what not.