Why public? I was browsing this package object earlier today and notices that it exposes quite a few implementation details that might be better locked down.