Break up long, complex operations

Displaying long lists on screen can be a source of heavy RAM usage, and bad performance while the list controls are initialized (for example, a list of all contacts or notes on the device). This can be avoided by writing specific controls, which only populate the list with the entries that are visible on the screen. Scrolling then deletes the entries that leave the screen and adds new ones.