Custom Program Ticking

Added: Program executors now get updated by update tasks (they are serializable).
Removed: There's no longer an unserializable default tick timer.
Added: The program executor class now has proper equals(), toInfoString() & toString()-methods.