Abstract input system

This allowed to make something more robust for character attack