Refactor to encapsulate available widgets panel