Does the callback concept of programming have any basis in computer science? Although I seriously code with computer languages in general since 2010 and as an amateur programmer with programming languages in particular since 2015 (primarily Bash and JavaScript imperative scripts) and codes I wrote are scattered through my Stack Exchange accounts, as in my Code Review SE account,
I think I still misunderstand what a Callback is;
I feel that the term itself might be misleading, as I understand that callback functions doesn't "call back" anything, but rather "called back" as a reaction to a condition (event).
I understand the alternative term Callafter as significantly controversial between programmers, so I stay with "Callback" or its semantic siblings;
Any Stack Exchange session I read about "Callback" contained answers that I either recognized as contradicting or controversial by other programmers commenting in comments.

My question

Because the particular examples I read of this concept in Bash and JavaScript are not remembered to me as clear, I ask:


  Does the callback concept of programming have any basis in computer
  science?


That is to ask; is there, as part of a computer science theory, some logical formula that can simulate all possible "callback functions" (similarly to as a Turing machine can simulate all possible functions of a computer) that might help understanding the purpose of this concept?
An answer might help me understand what is the common denominator (if there is one) between different "callback" terms in programming.
(I might be wrong, but this is my understanding.)

Callbacks, especially as seen in JS, are analogous to a semantic model known as Continuation-passing style (CPS). In CPS, a program’s flow is modeled as a series of functions, each of which takes in a continuation, and calls the continuation with the function’s result when finished. 

As stated, this is also a form of higher-order programming, where functions are used as values.