currently a lot of resolution logic and other bits and pieces occurs directly in the webdav layer.
With the new repository API in place, and after the proxy and repository grouping behaviour (linked) is migrated, the webdav should become significantly simpler.
The module should be revised for any further changes needed after that to remove the dependency on repository-layer and model. It should be a simpler interface that just provides the webdav and HTTP verbs for accessing the repository content via the resolver. All the logic belongs in the repository implementation so that it can be shared by other modules such as web and xmlrpc. This wouldn't constitute a full REST API either - that will probably more closely mirror the xmlrpc api and work with the metadata repository API as well, not just retrieving the artifacts.
This may also cause some consideration to the location of the tests - these are effectively integration tests that could be streamlined and moved into a separate module.