Subject classes renamed to Resource.

Since the lib is *resource* focused makes more sense that naming.
Base now depends on a factory interface instead of concrete object.
Base tests fixed.
Subject to Resource factoring.