wip - flesh out mousestate to abstract mouse states