More front end stuff to make singer end work
Add a load of badly encapsulated front end functionality