Merged control and menu condition code

The code has been merged, but transference is not fully functioning. Some cleanup is still required.
I believe at this stage all ungroup properties have already been checked, but I think there's a better way to write this. E.g. (if [self interactionType != UNGROUP] && .....) would be more appropriate. I also agree that we could probably make the code a little cleaner, but it's ok.