should hashCode really depend either on taskName, or description, or hashCode?