Breaks server behavior apart into different types that are composed.