# ![Logo](/stuff/agency-48x48.png?raw=true)  Agency

![Test](  **One more unnecessary abstraction on top of `Agent`**

## Introduction

`Agency` is an abstraction layer above `Agent` allowing to use any
container supporting `Access` behind and simplifying the client API

`Agency` itself implements `Access` behaviour, making it possible to
embed instances in the middle of `Access.keys` chains.

In a nutshell, `Agency` backs up the `Agent` holding a container.
All the standard CRUD-like calls are done through containers’
`Access` implementation, allowing transparent shared access.

The set of `after_***/1` functions are introduced, so that the main
`Agent` feature distinguishing it from the standard `GenServer`
holding state—namely, a separation of client and server APIs—is
exposed transparently to the consumers.

## Installation

def deps do
    {:agency, "~> 0.1"}

## [Documentation](