prototype: refactor for Strategy pattern, fix tooltip ghost bug