Updated to using indexers for generators, also added more advanced models as well as delegate based calling.