Add more information.
Remove since unused.
Not all attributes are suitable for converting to JSON.
Add model attribute to Line;

This will allow the user to associate arbitrary data with a particular line from the interface. From this we can build richer interfaces such as menus, whereby a line would perhaps have an associated ID relating to a record in a data base. With UI commands to select or choose lines, this extra data could be sent to a command as arguments to facilitate execution.
Remove unused exceptions.