Had to do some sketchy stuff to allow @resource and @logger
to accept bare types in their config argument. The problem is that
config is the first argument and we detect the case where the
decorator is called *without* parens by seeing if the first
argument is callable. However if you pass in something like
int that itself is callable. That ends up failing.
So instead we check to see if this are valid and callable first.