[refactor] make the names and responsibilities make more sense