Add FromEvent overload