Clean up types and throw in basic yardoc
Working through sig v4
Extract actual request to isolated method for ease of behavior adjustment by concrete implementors