Script for generating .gitignore files

It uses github's gitignore repository as a source and allows user to
select snippets he/she wants.
Abstraction over ojects that can be used as callbacks

As a result this interface allows simplification of API, and therefore
simlifies implementation of things like Proxies, Decorators, Facades,
etc.