Update API and implementations to match.