Separating everything between server and client and reworking the futures and requirejs stuff