Working my way through how to build a template class