WIP: Initial implementation of project resource

This PR is intended to show the community an implementation approach consistent with #1017

Will review, but I am not sure I understand the comment.  Are you saying the ResourceWatcher interface is broken for all resource types, or that I cannot delegate my wrapper object to call an interface that the delegate implements?