Set all private fields and functions to protected. Fixes #21