@@ -0,0 +1,1843 @@
+package org.realityforge.replicant.client.transport;%0A%0Aimport javax.annotation.Nonnull;%0Aimport javax.annotation.Nullable;%0A%0Afinal class AreaOfInterestAction%3CT extends Enum%3E%0A%7B%0A  enum Action%0A  %7B%0A    ADD, REMOVE, UPDATE%0A  %7D%0A%0A  @Nonnull%0A  private final T _graph;%0A  @Nonnull%0A  private final Action _action;%0A  @Nullable%0A  private final String _cacheKey;%0A  @Nullable%0A  private final Object _id;%0A  @Nullable%0A  private final Object _filterParameter;%0A  @Nullable%0A  private final Runnable _userAction;%0A  private boolean _inProgress;%0A%0A  AreaOfInterestAction( @Nonnull final T graph,%0A                        @Nonnull final Action action,%0A                        @Nullable final String cacheKey,%0A                        @Nullable final Object id,%0A                        @Nullable final Object filterParameter,%0A                        @Nullable final Runnable userAction )%0A  %7B%0A    _graph = graph;%0A    _action = action;%0A    _cacheKey = cacheKey;%0A    _id = id;%0A    _filterParameter = filterParameter;%0A    _userAction = userAction;%0A  %7D%0A%0A  @Nonnull%0A  T getGraph()%0A  %7B%0A    return _graph;%0A  %7D%0A%0A  @Nonnull%0A  Action getAction()%0A  %7B%0A    return _action;%0A  %7D%0A%0A  @Nullable%0A  String getCacheKey()%0A  %7B%0A    return _cacheKey;%0A  %7D%0A%0A  @Nullable%0A  Object getId()%0A  %7B%0A    return _id;%0A  %7D%0A%0A  @Nullable%0A  Object getFilterParameter()%0A  %7B%0A    return _filterParameter;%0A  %7D%0A%0A  @Nullable%0A  Runnable getUserAction()%0A  %7B%0A    return _userAction;%0A  %7D%0A%0A  boolean isInProgress()%0A  %7B%0A    return _inProgress;%0A  %7D%0A%0A  void markAsInProgress()%0A  %7B%0A    _inProgress = true;%0A  %7D%0A%0A  void markAsComplete()%0A  %7B%0A    _inProgress = false;%0A  %7D%0A%0A  @Override%0A  public String toString()%0A  %7B%0A    return %22AOI%5B%22 +%0A           %22Graph=%22 + _graph +%0A           %22,id=%22 + _id +%0A           %22,CacheKey=%22 + _cacheKey +%0A           %22,filter=%22 + _filterParameter +%0A           %22%5D%22 + ( _inProgress ? %22(InProgress)%22 : %22%22 );%0A  %7D%0A%7D%0A

Add a simple class to contian information pertaining to subscription actions