Refactor to a shared interface package