You are right about emitting AbstractResource. The interfaces become much cleaner then. Thanks for spotting that. I guess I had target fixation.