While the example shown illustrates specific functional modules within device 12, the functionality of these modules may be combined or separated into smaller functional units, and each individual functionality may be implemented using any suitable hardware and/or software, such as a computer program stored on a computer readable medium.