Defining Services-as-Software with a Library of Reusable Actions