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