Add generic to PrintObserver and SimpleObserver