Convert arguments that take StreamContext to take Resources not Variants

This removes some converting back and forth and further documents and centralizes the type-checking for these interfaces.