Goals frontend

Nearly done with #130 

Might need a couple more tests for goal completion scenarios.