Rework how defaults are saved so that the template class can be extended