Re-implement open and close as signals.