I think powerdns does the same, splitting into three daemons: cache with router, authoritative server and recursive resolver.