1. A navigation module for providing an overall navigation solution that provides a real-time navigation output about a moving object, the module comprising: a receiver for receiving absolute navigational information about the object from an external source, and producing an output indicative thereof, an assembly of self-contained sensors configured to obtain readings relating to navigational information about the object, and producing readings indicative thereof, and at least one processor, coupled to receive the navigational output and the readings from the sensor assembly, and operative to provide the overall navigation solution consisting of multiple tasks comprising: a main navigation solution task, wherein the main navigation solution task output is the real-time navigation output, and at least one other task, wherein the at least one other task is used to enhance the overall navigation solution; wherein the at least one other task is selected from the group consisting of: a. at least two other tasks comprising a buffering task and a GNSS update task, wherein the receiver further outputs a timing pulse signal corresponding to the absolute navigation information output, wherein the processor is further coupled to receive the timing pulse signal, having a pulse indicating when the absolute navigation output should have been received, wherein the absolute navigational output may be delayed compared to the pulse, wherein the buffering task buffers the state of the main navigation solution task when the pulse is received and the readings from the sensor assembly, wherein the buffering of the readings from the sensor assembly begins when the pulse is received, and wherein the GNSS update task utilizes the buffered sensor readings until the GNSS update task synchronizes in time with the main navigation solution task, and merges therewith to enhance the main navigation solution task; b. a higher rate attitude task configured to calculate attitude angles about the object at a higher rate than the main navigation solution task, wherein the main navigation solution task is based at least in part on the readings from the sensor assembly; c. a lower rate navigation solution task that is more computationally complex and more accurate than the main navigation solution task, and used to enhance the main navigation solution task, wherein the main navigation solution task and the lower rate navigation solution task are both based at least in part on the sensor readings and wherein at least some quantities comprised in the main navigation solution task and at least some quantities comprised in the lower rate navigation solution task are the same navigation solution quantities; d. at least two other tasks comprising a buffering task, wherein the buffering task buffers the absolute navigation information output, the readings from the sensor assembly and the output of the main navigation solution task, and a backward smoothing solution task that uses the buffered information to provide a backward smoothed solution to enhance the main navigation solution task; and e. at least two other tasks comprising a buffering task and a tuning routine task, wherein the buffering task buffers the absolute navigation information output, the readings from the sensor assembly and the output of the main navigation solution task, wherein the main navigation solution task runs a state estimation technique in a first instance, and wherein the tuning routine task uses the buffered information to tune parameters of the state estimation technique in a second instance, and then supplants the tuned parameters into the state estimation technique in the first instance to enhance the main navigation solution task.