I am OK to put the cache mixin in its own file and keep some machinery away from the user in a _utils directory.
Although I think that at least one function could be useful to the users : concat_niimgs. When talking with Michael about nisl, he told me that he may need this kind of function (he has several 4D nifti files taht he wants to concatenate).