A component basewd entity system I am building on top of a framework provided by my school