Вас это тоже может заинтересовать (хотя я не знаю, насколько полно оно покрывает ваши потребности в функциях):