Component based entity system framework