Factor platforms into separate model