Example of the Revealing Prototype Pattern. The prototype contains many methods but only a few are exposed.