Хм, просто чтобы выбросить его туда. Вы в конечном итоге пытались щелкнуть ссылку на ветку Github на веб-сайте, на который вы ссылались в своем вопросе? Это было легко пропустить, это связано с библиотекой, которая решает вашу проблему. , https://github.com/remy/snapbird
Я полагаю, что если вы хотите вместо этого создать свой собственный класс, просмотрите этот, чтобы увидеть, как это делается за кулисами, поможет вам больше всего.