Butler manages various resources behind the scenes depending on how it is initialized. These resources include open files and connections to external resources such as databases and object stores. Also, StorageInterface subclasses may include new kinds of connections or other RAII-like objects that need to be closed or disconnected when a Butler instance is no longer being used.
It has been proposed to add a member function to the Butler class to tell that Butler instance to free its resources, suggested names were detach and close.
At first glance it sounded like users were not excited about using Butler in a context manager to free resources, but it should probably be reconsidered (RFC'ed?) before implementing this features.