CarrierWave is an object container for Adaptive Object Models. It provides a means to identify objects, generate type equivalent client side classes, and an API allowing clients to remotely select, modify, delete, and invoke server side object graphs.