Hi, I am new to PhaserJS and I have been learning the basics with the Interphase book. I would like to know why is everything defined inside the prototype? Is this for avoiding performance issues? Common practice? Or because I am going in this way you can reuse the State several times in the game? Also, what is the purpose of defining objects properties inside the function and then use them in the prototype? For example, see this.sprite and this.bg in the example below; is this a way of sharing the parameters across states? var MyGame = {};MyGame.StateA = function (game) { this.sprite = null; this.bg = null;};MyGame.StateA.prototype = { preload: function () {}, create: function () {}};