Represents a standardized piece of a project on which certain {@link Plugin} types may rely for a set ofdomain-specific operations. A {@link Facet} is an access point to common functionality, file manipulations,descriptors that extend a {@link Project} instance. When implementing this interface, consider extending{@link BaseFacet} for convenience.
Facets may be annotated with any of the following constraints in order to ensure proper dependencies are satisfied at runtime: {@link RequiresFacet}, {@link RequiresPackagingType}
@author Lincoln Baxter, III
@see {@link BaseFacet}