Rewrite to be more extensible.
Merge pull request #8 from JakeWharton/jw/wood

Rewrite to be more extensible.