Major changes

Added custom eventargs and exceptions, error handling, added
functionality to file watcher