Make lots of our own implementations internal (leave interfaces public)