Move this to `internal` and make package scoped