This feels scary, since they will be public for java. Any way to hide them better?