an entity system for Scala