Functional? Observable? Mutable? How about all of the above?