Fixed grammar mistake.
Renamed Button.Type to Button.Style.
Extend Tag; not markup.
Massiv refactoring and formatting.