[api] [test] Resources are now event emitters. Events emitted on the resource are re-emitted on the root event emitter scoped to the method name, and events emitted on the root event emitter are re-emitted on the resource unscoped if that resource exists. Also included are passing tests.