Multi-Threading with Non-Global Custom Events