I default scope and many stream inside of that scope. I don't map the instance, I have an XML file for each Channel, each of this XML will be the base config and data provider of the Stream instance, so each channel will run independently based on that XML file. There is a cron running to scan for these XML, so any change to it will reflect to the stream instance. e.g: ch-news.xml for news channel, ch-comedy.xml for comedy channel.
from the client side, all it needs to know is the stream name, so if user want to see news channel, they can point their player to rtmp://
myhost.com/onlinetv/news. onlinetv point to the default Scope when you create an ApplicationAdapter, a WebScope. In streams initialization, I put them in the default scope.
IScope, as explained in the API "are general option for grouping things in application". Since what I need are stream objects, I don't bother to have many scope, I only use the default one.
IMO, you only need more than one Scope if you want to control access to different groups of objects.