import abc
import threading
import logging

class PeepDieException(Exception):
	pass

class Obj(object):
	__metaclass__ = abc.ABCMeta

	@abc.abstractmethod
	def run(self,context):
		"""
		this function will run inside a thread with timeout
		raise exception if did not validate to the place
		once done, return the place you want to go
		beware that timeout may occur
		"""
		return

if __name__ == '__main__':
	class Planet():
               def run(self,ctx):
                      return



	world = [Planet()]

'''
undestructible object is achieved by recovery on failure. or re generate
bigger code size mean more time spent being raped by the other
slower code mean less time raping rhe other
object rravel between scope of a functional code tree
every function will apply its immable object list to you and the othrr
then apply survivor to snother and recieve fewer survivor.  them reyurn them

when in thr same scope. data can be stolem , code can be corrrupt , function may have been replaced

scope are represented by array of interacting obj.
suposely inaccessibld array for your object.
when called you get in your context.
 list or peer objec you can interravct with
 list of array you can ask to go next time
 and your count down before bring updated and sent to next location
sector can be aggregated into object
sector can be accessible through method
anothdr pc may be achieved using pickle serialisation
'''
