The commit opens up all of the default snippets so that it's easier to extend them and modify their behaviour. All of the built-in snippets are now public with protected constructors. Also, where appropriate the models used by the snippets have been made more fine-grained. Closes gh-73