Description
From adar:
As you clean up the Java client, I'd be a fan of strictly separating interfaces from implementations, and moving the former into a different Java package. In general this is painful and annoying when there's only one implementation, but I think it's valuable when you're trying to showcase a public API because users won't be distracted by any implementation details at all.