Proto Boss Pattern - Functional version