I think this should be in __init__. The setup() method is for the end user to override, who may not call super().