Abstract nestable into plugin using data attributes.

Closes #609 
Can this be easily refactored to produce a hash of data attributes instead of strings? It'd make it easier to override, extend or reuse..