Working on print system refactoring.
Merged