# Functions
NewCloser creates a new Closer.
WithCloser wraps a new closer into a child of an existing closer.
# Variables
ErrClosed is returned when the Closer is closed.
# Structs
Closer implements a shutdown strategy when dealing with multiples go-routines, it creates a tree of Closer, when you call `Close()` on a parent the `Close()` method will be called on the current closer and any of the childs it may have and will remove the current node from the parent.
# Interfaces
CloseRef implements a subset of the context.Context interface and it's use to synchronize the shutdown of multiple go-routines.
# Type aliases
CloserFunc is the function called by the Closer on `Close()`.