Что-то мне подсказывает, что чтобы писать свой фреймворк, нужно знать недостатки существующих. После того, как эти недостатки выявлены - проектируется свой продукт, который лишен этих недостатков. Чтобы выявить недостатки других фреймворков, их нужно знать изнутри, а если их знать, то этого вопроса не было бы.
Л - логика.