Refactor/Redesing TupleSet/TupleObject with generic type for data