abstracted moveableentity out of glcustomer. cleaned up a lot of code and the logic behind that