Use a factory to instantiate the object graph
Use a separate script to initiate execution
License project under the ISC license