REFAC: Include fixes, CD factory updates
- Fixes some includes across the CD methods
- Updates the factory
- Users can register to the factory
- Users can use static initialization to register to factory if needed
Everything should more or less work the same.