NRV already has a loggable trait, might be interresting to you