refactored Input and Renderer to use Contexts