Today, there is lack of consistency between the packages, we should try and fix that. We should deal with what is public, spi and private (impl).
Let's have someone take the lead on that and discuss the various options here.