A subject may be a complete application in itself, or it may be an incomplete fragment that must be composed with other subjects to produce a complete application.
Subject composition combines class hierarchies to produce new subjects that incorporate functionality from existing subjects.