Moved separate attributes builders all into one to make it easier to reuse code.