Creating An Interactive Learning Environment With Reusable Hci Knowledge