Improve singleton using unique_ptr