Abstracting stream and peer attributes and methods as seperate classes.