Learning Abstraction through Interface