It's really hard to explain what I am looking for exactly so I have made some example output of how I would like my terminal to behave. (each number at the start of a line represents a return on that line and > represents the input line.
> me@computer:~$
5. me@computer:~$ cat somefile < command
start of file < output
< output
this < output
is < output
the < output
content < output
of < output
the < output
file < output
< output
end of file < output
4. me@computer:~$
3. me@computer:~$
2. me@computer:~$
1. me@computer:~$ echo this is the first line < command
this is the first line < output
in this example the input line where you type the commands that you want to execute will always be on the top. And it will push each command and it's output downwards as "events" so to speak. So if you cat a file, it won'd output everything in the reverse order, so the appearance of the output of each command is unchanged, just it's position.