Sounds like you discovered that OOP and Functional are the same thing. Closures are the poor-person's objects. Objects are the poor person's Closures. If you never mutate the internals of an Object, or mutate with copy, isn't just a coherent closure?
Checkout http://wiki.c2.com/?ClosuresAndObjectsAreEquivalent