Seems strange to have this managed by the caller, no?