The current \gls{mTask} engine for devices does not support \glspl{Task} in the
sense that the \gls{C}-view does. \Glspl{Task} used with the \gls{C}-view are a
main program that executes code and launches \glspl{Task}. It was also possible
to just have a main program. The current \gls{mTask}-system only supports main
programs. Sending a \gls{Task} always goes together with choosing a scheduling
strategy. This strategy can be one of the following three strategies as
reflected in the \CI{MTTask} message type.

\begin{itemize}
	\item\CI{OneShot}

		\CI{OneShot} takes no parameters and means that the \gls{Task} will run
		once and will then be removed automatically. This type of scheduling
		could be useful, for example, in retrieving sensor information on
		request of a user.
	\item\CI{OnInterval}

		\CI{OnInterval} has the number of milliseconds to wait in between
		executions as a parameter. \Glspl{Task} running with this scheduling
		method are executed at predetermined intervals.
	\item\CI{OnInterrupt}

		The last scheduling method is running \glspl{Task} on a specific
		interrupt. Unfortunatly, due to time constraints and focus, none of the
		current client implementations support this. Interrupt scheduling is
		useful for \glspl{Task} that have to react on a certain type of
		hardware event such as the press of a button.
\end{itemize}
