Complete example of a client-side module