Extract voice to separate class. Add functional port connectors