Added Nestable class again and refactored how the ProtoModel class tracks its public and private types.