Do we really want default construction here rather than wrapping bam_init1() in a shared pointer?