Encapsulated i.e., with well defined interfaces and with an unknowable interior
• Composable with other components (using a well establish composition mechanism)
• Multiple-use (i.e., not a restricted resource)
• Not context dependent (usable in multiple systems)
• A unit of independent deployment and versioning (independent of other components