Allows the client to display shell errors properly. Also adds some missing registrations, documentation and comments.