The nice thing about the instance variable is that we can default it to syso and the normal user does not need to worry about it. You could do a null-check in the beginning, but 
a) that's nasty
b) the normal user is none the wiser
Coolest thing would be an optional parameter defaulting to syso if not passed, but that's were python >> java