Attempt at implementing some ideas functional oo ideas in ruby