Moved to templates from delegates passed in constructor.