Pylons is passing a dict as args to _perform_call, so ...
2.0.x
in tg.controllers.ObjectDispatchController?._perform_call and
in tg.controllers.TGController._perform_call
should be controller.im_self.__before__(**args)
2.1b*
in tg.controllers.dispacher.Dispatcher._perform_call
should be controller.__before__(**args) and controller._before(**args)