Class Work for Building Adaptable Software