Adding Snarl support.

    Fixes #22
    Fixes #20
    Fixes #18