RawPickToValue or RawToValue (depending on your case) should work with Function objects.
You can use One<> or store pointers to functions or objects in Value using the RawPickToValue or RawToValue, as well.
Event<> WhenFunction = [=] { Cout() << "Hello world.\n"; };
Value v = RawPickToValue(pick(WhenFunction));
const auto& fn = v.To<Event<>>();
fn();