Multiple changes: created the Button element, make use of Traits for elements