Fluent interfaces revisited