When developing a reusable piece of software, one needs to be able to control what goes into the "public" API, and what is a "private" detail of the implementation. ONE's SDK allows developers to divide a module into public and private portions. This means you can differentiate between clean, supportable, backward-compatible public APIs, and their more volatile private counterparts.
Within a module, different entities can be declared private, including models, entities defined in MPT and java artifacts. By default only public APIs and meta-data information will be exposed to the dependent modules, datasets and EPTs.