What was the reason for interfaces having to work at runtime?