Safe = yes. Reasonable = depends on your design.Also, is it reasonable(Safe) to use a template class for the Manager?
If you need the complexity and robustness it offers then sure but if it just serves to obfuscate the code or derail you from the final goal then I'd say no. Besides if you design it correctly in the first place you can always add template support later on in the project.
I actually have a templated version of what I described. Let me know how yours turns out and we can compare code. I've called it a SmartArray although it's not very smart if it cannot reduce the max index. Perhaps you can solve this problem.