I think it's better if `Smart` delegates `compareTo()` to its underlying `repo`. `Smart` types are decorators in this library, they should be responsible for accessing `JSON` properties and delegating everything else to the underlying object. See `Comment.Smart` for example.