A Watchmaker-inspired framework for genetic algorithms in Scala