Cleanup framework