Yet another entity-components system