More component oriented, using class for Server