void appendIn(utList<tListEntry> list, System.Object target, bool paused){
			tListEntry listEntry = new tListEntry ();
			listEntry.target = target;
			listEntry.paused = paused;
			listEntry.markedForDeletion = false;
			MethodInfo method = target.GetType ().GetMethod (updateSelector);
			listEntry.impMethod = (TICK_IMP) Delegate.CreateDelegate(typeof(TICK_IMP), target, method);
			
			utNode<tListEntry> listElement = new utNode<tListEntry> ();
			listElement.next = listElement.prev = null;
			listElement.obj = listEntry;

			list.DL_APPEND(listElement);
			
			tHashUpdateEntry hashElement = new tHashUpdateEntry ();
			hashElement.target = target;
			hashElement.list = list;
			hashElement.entry = listElement;
			hashForUpdates.HASH_ADD_INT (target.GetHashCode(), hashElement);
		}
		void priorityIn(utList<tListEntry> list, System.Object target, int priority, bool paused){
			tListEntry listEntry = new tListEntry ();
			listEntry.target = target;
			listEntry.priority = priority;
			listEntry.paused = paused;
			MethodInfo method = target.GetType ().GetMethod (updateSelector);
			listEntry.impMethod = (TICK_IMP) Delegate.CreateDelegate(typeof(TICK_IMP), target, method);
			listEntry.markedForDeletion = false;
			
			utNode<tListEntry> listElement = new utNode<tListEntry> ();
			listElement.next = listElement.prev = null;
			listElement.obj = listEntry;

			
			if (list.head == null) {
				list.DL_APPEND(listElement);
			} else {
				bool added = false;
				for( utNode<tListEntry> elem = list.head; elem != null ; elem = elem.next ) {
					if(priority < elem.obj.priority){
						
						if( elem == list.head )
							list.DL_PREPEND(listElement);
						else {
							listElement.next = elem;
							listElement.prev = elem.prev;
							
							elem.prev.next = listElement;
							elem.prev = listElement;
						}
						added = true;
						break;
					}
				}

				if(!added)
					list.DL_APPEND(listElement);
			}
			tHashUpdateEntry hashElement = new tHashUpdateEntry ();
			hashElement.target = target;
			hashElement.list = list;
			hashElement.entry = listElement;
			hashForUpdates.HASH_ADD_INT (target.GetHashCode(), hashElement);
		}