improved .equals method on tasks and groups