After some back and forth, I changed my mind on this. The SlotRoleHandler instance to use should depend only on the role name. The handler's behavior can then differ based on content model or based on the page's title, in particular for the main slot. Extensions may need a way to hook into that in the future, but I see no need to spec that out just now.