Convert arguments that take a StreamContext to take Resources instead of Variants

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