Traditionally, programming code that is used to construct software user interfaces has been intertwined with the code used to construct the logic of that application’s processing operations (e.g., the business logic involved in transferring funds in a banking application). This tight coupling of user-interface code with processing code has meant that there is a static link between the result of logic operations (e.g., a number produced as the result of an addition operation) and the physical form chosen to present the result of the operation to the user (e.g., how the resulting number is displayed on the screen). This static linkage is, however, not found in instances of natural human-to-human communication. Humans naturally separate the content and meaning that is to be communicated from how it is to be physically expressed. This creates the ability to choose dynamically the most appropriate encoding system for expressing the content and meaning in the form most suitable for a given situation. This concept of interchangeable physical output can be recreated in software through the use of contemporary design techniques and implementation styles, resulting in interfaces that improve accessibility and usability for the user.