Refactor

Use public interface in specs instead of internal implementation.