My experience with DAV in general is that there are enough inconsistencies between clients that it's hard to support everyone properly. To be fair, that was well over a decade ago, maybe things are better now -- but it's the sort of spec where it makes sense to put effort into reusable libraries, to amortise the effort across multiple projects.
On the other hand, if you're enjoying yourself then great :). I'm looking forward to seeing what the project evolves into.