The need for an interface
While developing games, it became more and more clear that when the library of games grew, we needed a core to keep our code organized. This first came in the form of 'move', a system which allowed simple code for checking if a certain type of key was pressed, and more.
Yet each time a game was finished, integration was taking a increasing chunk of time, as each time, it had to be imported into game hub, a highscore menu had to be made, intervals could not stop because the common interval variable was different, not to speak of pausing a game, which was a different system in and of itself.
To avoid doing this every game, we needed two base systems, one of which was the 'move' interface. The other was a way of generating an interval which could be paused. Then the 'Interfaces' emerged, which shrunk the amount of code to load, for example, the hub, to usually one line.
Too late
By the time all interfaces were done, the project was over, as the project deadline for school was reached. Most of these interfaces work seamlessly, but still need testing and implementation. They are, however still very interesting.
Lessons learnt
The biggest lesson however, has been learnt. Don't program in plan JavaScript. Nowadays I use TypeScript, which rules out a big problem when working with multiple people: they think differently. With a statically typed language, it is impossible to, say, call a function incorrectly. This site is also built using TypeScript.