Refactor resource DSL out of Version class and into a module so it can be re-used in resources for nesting
Add initial support for nested resources