Initial client-side interest impl

As discussed, lets keep this class immutable.