1. A method for authoring a voice application, the method comprising: retrieving data from at least one of a plurality of back-end data sources based at least in part on an input; building a grammar based on the data using at least in part a dynamic grammar builder; and loading the grammar into the voice application using at least in part a reusable dialog component.