Adjust the API and usage accordingly.
Make tests stricter.
Since the merging is still faulty, test are broken now.
The next commit will fix it by avoiding merging.
This is still from my own fork as there are still critical PRs that
bmizerany hasn't responded to yet.
Change-Id: Ib46e68ec9ecbae9423b1bfe1311569426dfc7ba0