This Gameobject-based programing is different of course, but you have no disadvantage by assigning a script to an empty gameobject. Also it was just an example. If you change a level, you probably have some kind of door you use, an trigger or whatever where you can attach the script to.

It won't be a problem to create any complex gameplay by attaching scripts to objects. It's not like you have to pre-create the object and have it loaded in the level with the script attached to it, before you use it. You can create an object/model, apply any component you need (collision, particle emitter, sound, etc), attach the script it needs, save it as prefab and delete the object again.
So now you don't have the object lying around in your level but create it, with its by you predefined settings, at any time while playing.


My Blog

"Tag und Nacht schrei ich mich heiser,
Wind weht alle Worte fort,
Tag und Nacht schrei ich mein Krähenwort!"

Subway To Sally - Krähenkönig