Replace custom ChannelDescriptor exceptions to use ResourceException
Move descriptor interaction logic to resources.