Updated to new entity-component based model