massive refactoring display library: now entity-component system