Abstraction for calling functions that might or might not be functions