Added deleters, simplified allocations, and moved common code to template class