An abstract architecture for distributed, object-oriented hypermedia systems