protected JetManHeadInternals miniUpdate(
		final BlargNonTile nt, long time, final World world,
		MessageSet messages, NonTileUpdateContext updateContext,
		JetManCoreStats stats, boolean externallyPowered
	) {
		float newBattery = battery;
		boolean viewSendAttempted = false;
		
		if( time == lastUpdateTime ) {
			double viewUpdateWork = externallyPowered ? 0 : 0.0001;
			if( newBattery >= viewUpdateWork ) {
				updateContext.startAsyncTask(new UploadSceneTask(nt, world, uplinkBitAddress));
				updateContext.sendMessage(Message.create(uplinkBitAddress, uplinkBitAddress, MessageType.INCOMING_PACKET, stats));
				newBattery -= viewUpdateWork; // These transmissions cost something!
			}
			viewSendAttempted = true;
		} else if( lastViewSendTime < time ) {
			updateContext.sendMessage(Message.create(nt.baseBitAddress, MessageType.UPDATE, null));
		}
		
		for( Message m : messages ) {
			if( m.isApplicableTo(nt) ) {
				//Object p = m.payload;
				// Whatever messages head can act on
				// like turn vision on/off to save battery
			}
		}
		
		return new JetManHeadInternals(uplinkBitAddress, facingLeft, health, newBattery, icons, time, viewSendAttempted ? time : lastViewSendTime);
	}