added an interface that entities can implement
Merge pull request #376 from lsmith77/document_object_interface

[WIP] added an interface that entities can implement