Changed dispatch to generic
Started work on commands system