All classes are internal by default but can be made public via compilation symbol. Fixes #4.