Generalise some controller methods

Change-Id: I69bb850efe4cbc7b394f62bf2e7f81020b226988