new port interface : python coroutine abstraction