refactoring - attributes are now responsible for two-way binding rather than their elements. also, formatters can be used as a form of validation
moved two-way binding teardown stuff to where it belongs
Closes #19 (implicit array generation), also fixes bug with branches not being created correctly