Initial work on a multifile object that can fire files as fast as one wishes
Internally refactor events to allow us to use std::function; this lets us use lambdas