move tracking init/deinit to private header because it's not meant to be user-invoked