Nested classes and explicit interfaces vs "public only" visibility

Rebased #39 onto the current master