use midi device name if instrument doesn't have name
refactor to class
add manifest