Second pass at extracting interfaces in the entity component. Next step is moving interfaces, etc to framework/api.