First attempt with builder pattern.