Пытался думать над этим вот тут.
Freepony