In unity when you create a new class, that class gets access to all the universal scene functions such as Update, Start, Awake, so for example if you want to create an Enemy class you can code everything regarding that object in jus tone class like what it's position when the scene loads, what it supposed to do in the update function and what other objects it should collide with, but is Spritekit when yo ucreate an Enemy class ( not to mention all the frustrating initializers) you again must create an instance of it in the scene class, position it and make different conditions for collisions. also if there are conditions for the touch status you need to define it in the Scene and not in it's class, but let's say you did all that and coded all the behaviours in the scene, what would you do when you have multiple scenes, aka game with multiple levels ? I'm also wondering Why the "Update" function only available in SKScene ?!
Bottom line what is the best gaming structure one can create in order to have flexibility in expanding the game and avoid repeating himself ?