refactor View.buildMarkup, View.destroyMarkup