1. A method for creating a composable software bundle as part of a virtual image asset, the method comprising: retrieving a semantic representation of a set of software modules; retrieving a first set of metadata and a first set of artifacts comprising a set of executable instructions, each executable instructions in the set of executable instructions is to be performed on the set of software modules during at least one virtual image life-cycle phase in a set of virtual image life-cycle phases; storing the semantic representation and the first set of artifacts, in a composable software bundle associated with the first set of metadata; receiving a selection of a virtual image asset, wherein the virtual image asset comprises one or more virtual image disks, a second set of metadata, and a second set of artifacts comprising a second set of executable instructions associated with a second set of operations, wherein the composable software bundle is independent of a target environment, is separate and distinct from the virtual image asset, and is installed on the virtual image asset as part of creating a new virtual image asset based on the composable software bundle and the virtual image asset; and creating a new virtual image asset based on the composable software bundle and the virtual image asset, the new virtual image asset comprising a set of software modules installed by the composable software bundle on the virtual image asset, the new virtual image asset comprising metadata that is based on the composable software bundle and the virtual image asset, the new virtual image asset further comprising a third set of artifacts comprising a third set of executable instructions associated with a third set of operations that is based on the composable software bundle and the second set of artifacts from the virtual image asset, and wherein each executable instruction in the third set of executable instructions being executed at the virtual image life-cycle phase associated with an operation in the third set of operations that is associated with each executable instruction in the third set of executable instructions.