Overview
SnapFramework.Component is nearly identical to a Scene. The main different is the addition of the defcomponent macro,
as well as the addition of the scenic opts key.
defcomponent build out your scenic validate function and helper functions, automatically so you don't have to.