Send gui events in `std::shared_ptr`s
Fix Dict and add operatror<< overload