disassociate engagement and associate with another object

we need to keep communications seperated from team view. but all users need to see all contacts. so im thinking to grab the activity/engagements belonging to team A, then to associate it with another object… any ideas would be welcome.