Component
Merge pull request #1 from marksteve/master

Component refactor (@marksteve, #1)