Allow users to override default IConnection handlers

Also adds a `.gitignore` file.