1. A mobile communication device comprising: a) a processor that is controlled via programming instructions; b) a non-transitory computer readable memory; c) a user input device for receiving explicit input instructions from a user; d) a camera sensor; e) a non-camera sensor selected from a group consisting of an accelerometer, a gyroscope, and a location identifying sensor; f) explicit content generation programming stored on the memory and performed by the processor, the explicit content generation programming causing the processor to respond to an explicit input instruction from the user input device by storing image content on the memory, the image content including: i) an image file recorded by the camera sensor, and ii) image time metadata indicating the time at which the image file was captured; g) implicit content generation programming stored on the memory and performed by the processor, the implicit content generation programming causing the processor to: iii) monitor the non-camera sensor; iv) identify a change in the non-camera sensor; v) in response to the change in the non-camera sensor, storing implicit content on the memory, the implicit content including (1) an indication of the change in the non-camera sensor, and (2) implicit time metadata identifying the time at which the change in the non-camera sensor was identified; h) after steps f) and g), content clustering programming that groups the previously created image content and the previously created implicit content into a cluster based on similarities between the image time metadata and the implicit time metadata; i) a network interface allowing data connections with a remote computing device over a wide area network; and j) remote event querying programming stored on the memory and performed by the processor, the remote event querying programming causing the processor to: vi) query a remote occurrences database over the network interface, the query identifying the cluster time and the cluster location, vii) receive occurrence data from the remote occurrences database concerning an occurrence that occurred at the cluster time and cluster location; wherein the occurrence data is added to the cluster metadata; wherein the content clustering program generates an organized media file on the memory having cluster metadata identifying a time and a location for the cluster, the organized media file identifying the image content and the implicit content as part of the cluster; and wherein the memory contains a plurality of image content each having a separate image time metadata, and further wherein the content clustering programming uses the occurrence duration received with the occurrence data to define a time period that determines which of the plurality of image content is included in the content cluster.