Finalised (quite) TagObject and TermObject, need to revise final version.