It depends on your perspective about where those ASPs and function calls should live. Maybe you want them on the objects themselves so that those object scenes are more autonomous, or maybe you want them all on the level so your sound debugging can happen all in one script. There’s no absolute right or wrong there; you can make an argument for either side.
You’ve got the right idea though. “Can this object scene be copied and dumped straight into another project and work properly?” It’s not possible for everything you make to be a straight “yes” (even some Godot nodes aren’t autonomous, like PathFollow, as you will see very soon), but in general, anything you can do to get closer to that is almost always beneficial.