Add events and file utilities along with unit tests