Reworking movement to reduce code repetition. Binding callbacks with variable arguments working.