В общем, это было довольно-таки трудно и немного геморно реализовать, но вроде получилось.
Я не шучу.