refactored this branch to require any recycleable object to have the TrashManRecycleableObject component

doing so enables events and no need to access the GO.name which
allocates a tiny amount of memory