better way - wrap all callables - this also covers methods