Cleanup factory method