/**

functions

* create a schedule for a target

inputs

* targets
* current time
* previous schedules

variables

* time that a schedule is started
* time that a new schedule should be made and ran
* time that a schedule finishes

process

* a new schedule needs to be created and ran when the duration of paddings of the previous schedule has elapsed.
* to ensure that there is no downtime and overlap between the last task of the current schedule and the first task of the next scheudle, the minimum length a schedule should be long enough is such that the amount of paddings in the schedule is greater than or equal to the duration of the longest action (weaken).
	* e.g., if longest task takes 10 seconds before it starts, the amount of paddings have to be at least 10 seconds before starting the tasks in the next schedule.
* prioritise adding another schedule to the better targets rather than adding a new schedule for worse targets.

*/