added functional interface for defining out of resource behavior, added sl4j logging