boxes persist with BoardService and refactors shared data to TypeService