Refactore Searchable to be super class of container and item