coffeescript component entity system