refactor builder into a model, adjust services/etc that handle it, add viewhelper to help with attribute values separated by spaces, adjust view scripts and js to display + update builders