More loaders and decorators

```ruby
if (match = data.match(/^(?<attributes>---\s*\n.*?\n?)^(?<template>---\s*$\n?)(?<source>.*)/m))
            @line_offset  = match[:attributes].count("\n") + 1
            @attributes   = YAML.load(match[:attributes])
            @raw_source   = match[:source]
```