It looks like the only difference between this ```__call__``` and ```Interface.__call__``` is the addition of error-reporting for ```self._input_handler```. I agree that it'd be good to push additional functionality into the baseclass if at all possible so that overriding ```__call__``` isn't necessary here.