I'm still torn on this, if the baseclass is insufficient here, should we push additional functionality into it? I would really like to avoid overriding ``__call__`` except in very exceptional cases