1. A computerized method of constructing an executable reusable procedure, said method comprising: loading at least one scored trace of a procedure into a memory, said scored trace comprising a recorded sequence of state-action pairs during an execution of said procedure, a scoring of said scored trace comprising an indication of how much a procedural action changes a state of the system as progressing towards a goal of said procedure; and determining, using a processor, an executable procedure from one or more of said at least one scored trace of said procedure execution.