I think either is fine. The first one can be treated like a non-timeseries model. So if I model something to do with temporal dimension, I have to refactor the code manually. The second one retained most of the code, but with the cost of code duplication. But it isn’t a bad idea either