Это не велосипед? Выглядит уродливо, а альтернативы не нашел