ViewComponent.Invoke() should be able to invoke views

Fixes #285
> Specifies the contract

how about just 'Result type of a viewcomponent'