Further adventures in entity/component APIs