Most mathematical objects can be said to be defined in simple terms, are usually really concise and still manage to capture the essence of what they are trying to talk about. For example, topology does a great job at capturing a broad and variety of interesting objects, but still its definition is simple enough to be used directly for (pretty much) everything (in topology of course).
However, unlike topology and other mathematical notions, the definition of a Turing Machine is really complicated. This definition does capture a big chunk of interesting problems, but it is too complicated to be considered when trying to solve them. For example, you won't start thinking about turing machines, when you want to design an algorithm that computes the BFS algorithm.
You may say, that in those terms, it might be better to think in terms of "computer code" or "RAM machines". However, I am not satisfied with that answer, since such things are not formal enough when considering other uses, such as proving lower bounds, or when proving theorems such as the time hierarchy theorem.
My Question
Is there some notion of a computational model (doesn't necessarily have to be equivalent to TMs), that is formal enough to work with, for such theorems and lower bounds, but also simple and expressively interesting?