Si quieres una critica, yo creo deberias de sentarte a delinear bien tu framework, para empezar trata de hacer todo, y cuando digo todo es TODO de forma orientado a objetos.
La idea de un framework es que puedas re-utilizar los componentes sin necesidad de que todo este en cierto lugar, o sea cada componente debe de poder iniciarse y ejecutarse en el momento adecuado y sin problema.
Solo te puedo decir igual que como dice Enrique, saca todos tus defines, global, etc. de tu framework, reemplazalos por storage engines, y class constants, y creeme que la comunidad te lo va a agradecer