Java's convention of Foo and FooImpl rather reminds me of C's foo.c and foo.h.