Use private implementation in API classes.

While we do not promise a stable ABI at the moment,
this is conceptually correct and has to be done sooner or
later, with increasing effort the longer we delay it.

Change-Id: Icc98443974e54d377167480ace601db4981ed43c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>