Traditional offline program specialization relies on staging of a computation into two levels, static and dynamic. We present a generalization thereof where the static input data of one level is split up in a potentially unknown number of separate fragments. These fragments arrive in an unspecified order and are specialized as they arrive. Potential applications of the technique include separate compilation via specialization, efficient implementation of reflective languages, and just-in-time compilation. We have implemented our new specialization technique in the PGG specialization system [27] for Scheme. We have proved correctness for a first-order fragment.