module Playbook::Props

def initialize(prop_values = {}, &block)

def initialize(prop_values = {}, &block)
  self.values = { children: block }.merge(Hash(prop_values))
  self.class.props.each do |key, definition|
    definition.validate! values[key]
  end
end