Add an Erlang behaviour definition and example implementation
Expand Erlang behaviour example with code reuse investigations