Replaced explicit classic separate/prefixed class names for different implementations with tag-specialized class templates. Added the handle_ref class template.