Nie mam dla Ciebie lepszej odpowiedzi, ale używam Twojego rozwiązania w mojej aplikacji i działa zgodnie z oczekiwaniami.