Large program management-stitching together functional code blocks?