[refactor] split off balloon components