This will at least make it a bit better in #3598.
The real solution with remembering custom backgrounds for both
night mode on and off doesn't fit with current theming way too well.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.