Cleaned up how constructor templates are defined and what arguments to pass in to things