Typehint to interface instead of implementation