We need to be read and write the directory file. Since MDesktopEntry is readonly I thought it was messier using MDesktopEntry, since after writing it you'd then need to reload the MDesktopEntry just to get the value you already have.