1. A method of rendering documents in a distributed system comprising a local client computer and a server computer, the method comprising: identifying a list of tasks to be performed in association with an input, wherein said list of tasks comprises one or more tasks for printing one or more documents; building one or more commands comprising instructions designed to, when executed on one of the local client computer or the server computer, accomplish said list of tasks; sizing said one or more commands in comparison to a threshold size, wherein those smaller than said threshold size are marked as small jobs and the others are marked as large jobs; in response said one or more commands being marked a small job, rendering said one or more documents suitable for printing via said server computer executing said one or more commands associated with said small job, and sending said document to a printer associated with said local client computer; and in response to said one or more commands being marked a large job, sending said one or more commands associated with said large job to said local client computer for rendering and printing locally.