There are many elements of the way that we've laid TWLight's code out that don't make sense on reflection, or could be tidied/centralised/consolidated. I'm tagging this as Epic because this is a large and potentially unwieldy task which we don't have clear scoping on yet.
Some specific elements of code refactoring we should consider:
- Location of certain elements, such as signals, which we've placed inconsistently.
- Duplicated code. We have a number of comments highlighting code that was copied from elsewhere but could feasibly have been centralised somewhere sensible.
- View code which should live in models. We have a bunch of misplaced code that's doing too much in generating views, when it could be split up and centralised in the models.