Slightly better implementation of peers, still need to create a more generic system for deciding which components to distribute where and then use that for Peers.