Erlang processes are basically objects passing messages to each other. They have state and behavior and communicate via message passing, they are objects.
It's unnecessary to create classes for functionality when it's unnecessary to create objects for functionality. Here's an eloquent article on that subject:
http://me.veekun.com/blog/2013/03/03/the-controller-pattern-...