I've been thinking about this for some time, but I've ultimately decided to leave scratch... Details are in the project