Some updates to interfaces and smoothers to better support non-Markovian
models