fog's core behaviors without API and cloud provider specifics