Move this to `opal-core-api`