Continue to refactor the COW API. Still half-broken though ...