Added missing final checks in interface implementation code.
Fixed typo in the interface setup function which caused it to miss out on finals.
Renamed some helper functions to a more descriptive name.