Obyx was made especially for development methods that use separation of concerns. Separation of concerns is the concept of splitting out functionality from data from presentation of data. A good example is HTML, CSS and Javascript. HTML by itself defines the data. CSS is used to style the data and Javascript is used to add functionality to the presented data. Although these are combined to make a fully functional web page they are all separated into their individual components via the file system. Obyx uses the same concept. Keeping the presentation of HTML separate from the source data and programming code. Objects are used to load the separate aspects into the program. Once the HTML/datasource are in objects they can be combined programatically. This means that multiple outputs can come from the same datasource. Because HTML is not integrated into the programming code multiple views can be generated through an interface. The interface can be used to tell the programming where to put a piece of data, whether it be a HTML 'div' tag or a RSS 'item' tag or even an Obyx value attribute. Separating concerns keeps the posibilities endless for where you can display data. Even if you are only producing HTML it means in 2-3 years when the site is undergoing re-design the HTML can be amended with out having to touch the programming code. The only thing that changes is the interface to the HTML. This can drastically reduce the cost of redesigns. Another advantage is that your HTML coder can change his HTML without ever needing to know how to program. The advantages of SoC are well documented which is why Obyx has integrated the concept into its core.