Reimplement shell as facade