Make tracer implementation configurable via Tracer type