Overall this looks fine to me, with a few minor improvement points.
The `'s'` trick doesn't really thrill me, but right now I can't think of anything better and I prefer to see this moving forward rather than bikeshedding that bit (which can always be improved later, if a better solution arise at some point).