New simulator API; changing to use Signal (Maybe o) for output