Теоретически, если бы даже и были библиотеки, решающие подобные проблемы, то скорее всего и работали по схожему принципу циклической реструктуризации. Заранее продумывайте подобные вещи или работайте с тем, что есть, при условии, что от вас это не зависит.