refactoring - make generic genetics package and have hyperneat extend this