allow language to be a callable