A thing (also called a domain object) is an entity inside the system. Things are candidates to become objects in the eventual implementation.
A thing can be transformed into a protocol. See Transforms and code generation for more information.