Jace #3: Added encapsulation
Jace #4: ScrewDriver now extends AbstractTool