Low-level API for endpoints + fixes
Creates "EndpointStructuralAdapter" which is a very minimal API for interacting
with endpoints. Includes an implementation for EndpointInterface and for Part.
Made events emit once transaction commit is complete rather than within the
transaction.
Various other fixes.