Added AbstractCommand, makes things a little bit easier