Determine whether a TM visits each of its states exactly once during computation (Decidable or not?) Formulate the following problem as a language:
  Given a Turing machine $M$ and a string $w$, determine whether $M$ visits each of its states exactly once during the computation with input string $w$. Prove your answer. 


So the problem above is what I am trying to solve. I am looking for a general direction to solve this so far this is what I am thinking but I may be completely wrong. 

My Thoughts: This problem is decidable because the Turing machine can have a list of all possible paths ,$E^*$, and we could check $E^*$ to ensure that each state was visited once and only visited once within the computation. However this doesn't seem like nearly enough and I am not sure what direction to head.
Hint: If a Turing machine has $m$ states and it visits each of them exactly once, then it terminates after $m$ steps.