1. A computer-implemented method for creating an API for a code module to be used in a computer system, the method comprising: creating a new module by composing one or more existing modules by a processor; and defining an API for the new module using a set of API elements of said one or more existing modules.